QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#612327#8831. Chemistry Classx17875487211WA 66ms13324kbC++14846b2024-10-05 10:32:222024-10-05 10:32:23

Judging History

你现在查看的是最新测评结果

  • [2024-10-05 10:32:23]
  • 评测
  • 测评结果:WA
  • 用时:66ms
  • 内存:13324kb
  • [2024-10-05 10:32:22]
  • 提交

answer

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn=4e5+10;
int T,n,A,B,a[maxn],sum[maxn],dp[maxn]; 
signed main(){
	scanf("%lld",&T);
	while(T--){
		scanf("%lld%lld%lld",&n,&A,&B);
		for(int i=1;i<=2*n;i++)
			scanf("%lld",&a[i]);
		sort(a+1,a+1+2*n);
		//for(int i=1;i<=2*n;i++) printf("a[%lld]=%lld\n",i,a[i]);
		for(int i=2;i<=2*n;i++)
			sum[i]=sum[i-2]+(a[i]-a[i-1]<=B);
		memset(dp,-0x3f,sizeof(dp));
		int INF=-dp[0];
		dp[0]=0;
		for(int i=2;i<=2*n;i+=2){
			int Sum=0;
			for(int j=i-1;j>=1;j-=2){
				if(a[i]-a[j]>A) break;
				if(j+2<=i) Sum+=(a[j+2]-a[j+1]<=B);
			//	printf("i=%lld j=%lld Sum=%lld\n",i,j,Sum);
				dp[i]=max(dp[i],dp[j-1]+Sum+(a[i]-a[j]<=B));
			}
			//printf("dp[%lld]=%lld\n",i,dp[i]);
		}
		printf("%lld\n",(dp[2*n]==-INF)?-1:dp[2*n]);
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 9048kb

input:

4
1 2 1
42 69
2 3 1
1 2 3 4
2 5 1
6 1 3 4
5 19 1
1 7 8 9 10 11 12 13 14 20

output:

-1
2
1
4

result:

ok 4 number(s): "-1 2 1 4"

Test #2:

score: 0
Accepted
time: 66ms
memory: 13256kb

input:

1
199996 67013419502794 1
403716252634677166 895717933735068492 410002430455111886 844431179242134559 322988383133810700 133475121268220299 481706326769800263 606871141911985391 195911124687409946 959578180866483093 930547702157856949 877914383714875160 994158366044742636 890855755285236186 69498488...

output:

0

result:

ok 1 number(s): "0"

Test #3:

score: 0
Accepted
time: 65ms
memory: 13196kb

input:

1
199998 38987266278826 1
974183459404323858 517476981059568123 730207399881008603 532509909948600146 89227878552241675 16653300445469756 791674368913652595 92177901403222015 980536748304824579 581564387828767376 471919726893404451 759601909683722004 632340812998214017 818440789777778368 18845836031...

output:

0

result:

ok 1 number(s): "0"

Test #4:

score: 0
Accepted
time: 61ms
memory: 13104kb

input:

1
199996 54170919220045 1
968843690955781467 596307347951820347 406785475849275444 383666938223357986 725160735782817082 132577412512120631 891899794864087098 779434145671998619 932681297277907326 208765550447928461 385078857912267975 669360937040314510 917331948890514855 505938744714587815 47145437...

output:

0

result:

ok 1 number(s): "0"

Test #5:

score: 0
Accepted
time: 64ms
memory: 13168kb

input:

1
199998 35667463938291 8255384928693
770468016026697053 519790816750772730 110085058423772871 85144239858008037 782003096084947976 938498644167289660 693768718229582367 242186248813489674 155335549252315364 428982852761422230 890445026369869037 86401573937739054 9122788624365829 63351367715811463 1...

output:

193326

result:

ok 1 number(s): "193326"

Test #6:

score: -100
Wrong Answer
time: 60ms
memory: 13324kb

input:

1
199998 30382921668955 14233448082254
963132297376532181 199422464083525159 322744997549904069 484222268324755182 911994852231141516 486452603601138945 442934186247306449 697067018736912231 391585717434570522 682442472054944522 79264788486972294 313368204441969076 399649435615099454 810055146752799...

output:

-4485090715960610295

result:

wrong answer 1st numbers differ - expected: '-1', found: '-4485090715960610295'