爆零求助,样例一怎么这么奇怪
查看原帖
爆零求助,样例一怎么这么奇怪
407380
35wZ3S楼主2021/10/6 00:01
#include<bits/stdc++.h>
using namespace std;
bool f[10000];
int f0[10000][2],t0,f1[10000][2],t1,total,n,p,a;
int main(){
	cin>>n;
	for(int i=0;i<n;i++){
	cin>>p;
	if(p==0){
		cin>>f0[t0][0]>>f0[t0][1];
		total+=f0[t0++][0];
	}
	if(p==1){
		cin>>f1[t1][0]>>f1[t1][1];
		for(int j=a;j<t0;j++){
			if(f1[t1][1]-f0[j][1]<=45&&!f[j])
			{
			if(f1[t1][0]<=f0[j][0]){
				f1[t1][0]=0;f[j]=1;
			}
			}
			else a=j;
		}
		t1++;
	}
	}
	for(int i=0;i<t1;i++)
	total+=f1[i][0];
	cout<<total;
	return 0;
}

下面附上读入的样例一

1000 85 61 61 350 117 440 114 450 182 471 19 481 52 490 265 8381 408 8660 946 8671 86 8721 231 8751 324 8791 357 8801 276 8820 63 9160 357 9211 24 9360 221 9381 102 9421 81 9490 226 15550 399 18760 237 19070 157 19171 234 19190 183 28201 172 28410 618 28471 158 28481 106 28491 80 28511 122 28521 7 28531 328 28541 5 28551 152 28561 273 28571 129 28581 249 28591 333 28600 828 28611 64 28621 217 28631 269 28640 391 28880 380 33191 386 33321 620 33340 333 33410 300 33651 339 33730 624 33741 546 33751 420 33761 168 33771 319 33780 819 33791 509 33801 453 33811 54 33820 89 33831 336 33841 83 33850 85 42601 156 42931 2 42941 22 42981 126 42991 67 43001 63 43011 72 43021 87 43030 633 43040 150 43361 132 43670 248 43680 624 43690 666 43701 212 43711 49 43721 245 43731 155 43741 239 43751 194 43761 255 43771 120 43781 63 43791 158 43800 62 47161 73 47340 834 47441 19 47510 570 47541 6 47560 652 47571 49 47581 44 47591 79 47600 345 
2021/10/6 00:01
加载中...