QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#368622#8257. Marathon Race 2zyz07#7 1ms5884kbC++171.6kb2024-03-27 14:25:282024-07-04 03:32:39

Judging History

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

  • [2024-07-04 03:32:39]
  • 评测
  • 测评结果:7
  • 用时:1ms
  • 内存:5884kb
  • [2024-03-27 14:25:28]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
#define For(Ti,Ta,Tb) for(auto Ti=(Ta);Ti<=(Tb);++Ti)
#define Dec(Ti,Ta,Tb) for(auto Ti=(Ta);Ti>=(Tb);--Ti)
#define debug(...) fprintf(stderr,__VA_ARGS__)
#define range(Tx) begin(Tx),end(Tx)
using ll=long long;
const int N=5e5+5;
int n,L,x[N],q;
ll sum[N];
struct Query{
	int s,t,lim,ans;
}qry[N];
ll sdist(int l,int r,int k){
	if(x[r]<=k){
		return 1LL*k*(r-l+1)-(sum[r]-sum[l-1]);
	}else if(x[l]>=k){
		return sum[r]-sum[l-1]-1LL*k*(r-l+1);
	}
	assert(0);
}
void solve(vector<int> qs){
	sort(x+1,x+n+1);
	For(i,1,n){
		sum[i]=sum[i-1]+x[i];
	}
	for(int id:qs){
		auto& [s,t,lim,ans]=qry[id];
		int l=lower_bound(x+1,x+n+1,s)-x,r=upper_bound(x+1,x+n+1,t)-x-1;
		int lm=(l>1?x[1]:s),rm=(r<n?x[n]:t);
		lim-=n+sdist(1,r,t)+sdist(r+1,n,t);
		if(1LL*(n-r)*(t-lm)*2+(rm-s+rm-lm+t-lm)<=lim){
			ans=1;
			continue;
		}
		auto calc=[&](int i){
			int p2=(i<r-l+1?x[l+i]:t);
			ll cur=1LL*(l-1+i)*(rm-p2)*2+1LL*(n-r)*(t-p2)*2;
			cur+=(s-lm)+(rm-lm)+(rm-p2)+(t-p2);
			return cur;
		};
		For(i,0,r-l+1){
			if(calc(i)<=lim){
				ans=1;
				break;
			}
		}
	}
}
int main(){
	cin.tie(nullptr)->sync_with_stdio(false);
	cin>>n>>L;
	For(i,1,n){
		cin>>x[i];
	}
	cin>>q;
	vector<int> qsl,qsr;
	For(i,1,q){
		cin>>qry[i].s>>qry[i].t>>qry[i].lim;
		if(qry[i].s<=qry[i].t){
			qsl.push_back(i);
		}else{
			qsr.push_back(i);
		}
	}
	solve(qsl);
	For(i,1,n){
		x[i]=L-x[i];
	}
	for(int i:qsr){
		qry[i].s=L-qry[i].s;
		qry[i].t=L-qry[i].t;
	}
	solve(qsr);
	For(i,1,q){
		cout<<(qry[i].ans?"Yes":"No")<<'\n';
	}
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 7
Accepted

Test #1:

score: 7
Accepted
time: 1ms
memory: 5584kb

input:

1 500000
166666
10
0 0 500000
0 0 499999
0 0 499998
0 0 499997
0 0 499996
0 0 5
0 0 4
0 0 3
0 0 2
0 0 1

output:

Yes
Yes
No
No
No
No
No
No
No
No

result:

ok 10 token(s): yes count is 2, no count is 8

Test #2:

score: 0
Accepted
time: 0ms
memory: 5672kb

input:

1 500000
0
10
0 0 500000
0 0 499999
0 0 499998
0 0 499997
0 0 499996
0 0 5
0 0 4
0 0 3
0 0 2
0 0 1

output:

Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes

result:

ok 10 token(s): yes count is 10, no count is 0

Test #3:

score: 0
Accepted
time: 0ms
memory: 3628kb

input:

2 1
0 1
10
0 0 1
0 0 2
0 0 3
0 0 4
0 0 5
0 0 6
0 0 7
0 0 8
0 0 9
0 0 10

output:

No
No
No
No
Yes
Yes
Yes
Yes
Yes
Yes

result:

ok 10 token(s): yes count is 6, no count is 4

Test #4:

score: 0
Accepted
time: 1ms
memory: 5884kb

input:

3 1
0 0 1
10
0 0 1
0 0 2
0 0 3
0 0 4
0 0 5
0 0 6
0 0 7
0 0 8
0 0 9
0 0 10

output:

No
No
No
No
No
Yes
Yes
Yes
Yes
Yes

result:

ok 10 token(s): yes count is 5, no count is 5

Test #5:

score: 0
Accepted
time: 0ms
memory: 5884kb

input:

1 1
0
10
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1
0 0 1

output:

Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes

result:

ok 10 token(s): yes count is 10, no count is 0

Test #6:

score: 0
Accepted
time: 0ms
memory: 3832kb

input:

7 83382
35565 7347 27797 28072 31528 45377 43857
10
0 0 160004
0 0 224969
0 0 310304
0 0 354202
0 0 310303
0 0 493150
0 0 227687
0 0 448225
0 0 88396
0 0 155211

output:

No
No
Yes
Yes
No
Yes
No
Yes
No
No

result:

ok 10 token(s): yes count is 4, no count is 6

Test #7:

score: 0
Accepted
time: 0ms
memory: 5584kb

input:

7 83382
35212 3869 11565 53219 2927 45479 40671
10
0 0 189926
0 0 419739
0 0 245553
0 0 110218
0 0 299387
0 0 1986
0 0 473275
0 0 195521
0 0 299386
0 0 246039

output:

No
Yes
No
No
Yes
No
Yes
No
No
No

result:

ok 10 token(s): yes count is 3, no count is 7

Test #8:

score: 0
Accepted
time: 1ms
memory: 5592kb

input:

7 500000
6069 96930 28374 1275 53141 1423 6225
10
0 0 388080
0 0 73883
0 0 319880
0 0 141926
0 0 144641
0 0 67306
0 0 387304
0 0 387303
0 0 236649
0 0 130438

output:

Yes
No
No
No
No
No
Yes
No
No
No

result:

ok 10 token(s): yes count is 2, no count is 8

Test #9:

score: 0
Accepted
time: 1ms
memory: 5840kb

input:

7 500000
22379 39203 896 17806 23724 7599 153
10
0 0 492328
0 0 190173
0 0 315557
0 0 190172
0 0 138962
0 0 298883
0 0 246521
0 0 194070
0 0 252592
0 0 418531

output:

Yes
Yes
Yes
No
No
Yes
Yes
Yes
Yes
Yes

result:

ok 10 token(s): yes count is 8, no count is 2

Test #10:

score: 0
Accepted
time: 1ms
memory: 5672kb

input:

7 500000
0 0 0 0 0 0 0
10
0 0 124229
0 0 233729
0 0 306668
0 0 499999
0 0 220256
0 0 62117
0 0 115533
0 0 48137
0 0 160004
0 0 500000

output:

Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes

result:

ok 10 token(s): yes count is 10, no count is 0

Test #11:

score: 0
Accepted
time: 1ms
memory: 5584kb

input:

7 498000
498000 498000 498000 498000 498000 498000 498000
10
0 0 261154
0 0 235539
0 0 224636
0 0 283789
0 0 500000
0 0 480913
0 0 326331
0 0 499999
0 0 61700
0 0 280564

output:

No
No
No
No
No
No
No
No
No
No

result:

ok 10 token(s): yes count is 0, no count is 10

Subtask #2:

score: 0
Wrong Answer

Dependency #1:

100%
Accepted

Test #12:

score: 7
Accepted
time: 0ms
memory: 3604kb

input:

1 2
1
8
0 0 3
0 0 4
0 2 3
0 2 4
2 0 3
2 0 4
2 2 3
2 2 4

output:

No
Yes
No
Yes
No
Yes
No
Yes

result:

ok 8 token(s): yes count is 4, no count is 4

Test #13:

score: 0
Accepted
time: 1ms
memory: 5668kb

input:

1 2
1
10
0 1 1
0 1 2
2 1 1
2 1 2
1 0 2
1 0 3
1 2 2
1 2 3
1 1 1
1 1 500000

output:

No
Yes
No
Yes
No
Yes
No
Yes
Yes
Yes

result:

ok 10 token(s): yes count is 6, no count is 4

Test #14:

score: 0
Accepted
time: 1ms
memory: 5844kb

input:

3 11
1 5 10
10
2 6 40
2 6 41
1 6 39
1 6 40
0 6 40
0 6 41
2 7 38
2 7 39
2 5 36
2 5 37

output:

No
Yes
No
Yes
No
Yes
No
Yes
No
Yes

result:

ok 10 token(s): yes count is 5, no count is 5

Test #15:

score: 0
Accepted
time: 1ms
memory: 5652kb

input:

3 1
0 1 1
8
0 0 6
0 0 7
1 1 5
1 1 6
0 1 4
0 1 5
1 0 5
1 0 6

output:

No
Yes
No
Yes
No
Yes
No
Yes

result:

ok 8 token(s): yes count is 4, no count is 4

Test #16:

score: 0
Accepted
time: 1ms
memory: 5884kb

input:

1 499999
499999
10
0 499999 500000
0 499999 499999
0 499999 499998
0 499999 499997
0 499999 499996
0 499999 5
0 499999 4
0 499999 3
0 499999 2
0 499999 1

output:

Yes
No
No
No
No
No
No
No
No
No

result:

ok 10 token(s): yes count is 1, no count is 9

Test #17:

score: 0
Accepted
time: 1ms
memory: 5600kb

input:

1 249999
0
10
0 249999 500000
0 249999 499999
0 249999 499998
0 249999 499997
0 249999 499996
0 249999 5
0 249999 4
0 249999 3
0 249999 2
0 249999 1

output:

Yes
Yes
No
No
No
No
No
No
No
No

result:

ok 10 token(s): yes count is 2, no count is 8

Test #18:

score: 0
Accepted
time: 0ms
memory: 3832kb

input:

3 2
2 1 0
10
0 2 1
0 2 2
0 2 3
0 2 4
0 2 5
0 2 6
0 2 7
0 2 8
0 2 8
0 2 8

output:

No
No
No
No
No
No
No
Yes
Yes
Yes

result:

ok 10 token(s): yes count is 3, no count is 7

Test #19:

score: 0
Accepted
time: 1ms
memory: 5844kb

input:

7 114381
99629 67979 86546 56087 63139 108255 68436
10
93017 26947 457994
68416 90149 398467
35162 8224 500000
93764 99122 353377
43358 112463 306282
26831 9795 500000
42369 15002 500000
6450 16746 500000
7483 81534 451399
104077 82098 359317

output:

No
No
No
No
Yes
No
No
No
Yes
Yes

result:

ok 10 token(s): yes count is 3, no count is 7

Test #20:

score: 0
Accepted
time: 1ms
memory: 5812kb

input:

7 156904
86214 84720 39018 38747 41086 17361 72963
10
20487 60246 473628
64601 77908 402948
131834 36311 458711
44757 12551 407379
137740 152086 500000
13822 41710 384936
54564 100719 445492
114985 55047 500000
93241 143516 500000
70481 91989 391569

output:

No
No
No
Yes
No
Yes
Yes
No
No
Yes

result:

ok 10 token(s): yes count is 4, no count is 6

Test #21:

score: -7
Wrong Answer
time: 1ms
memory: 5588kb

input:

7 500000
250139 246072 286282 248011 246676 255434 285229
10
256986 250000 185280
249410 250000 192856
272916 250000 169350
248178 250000 194088
251192 250000 191073
282235 250000 160030
275248 250000 167017
286012 250000 156253
258808 250000 183458
281242 250000 161023

output:

Yes
No
Yes
No
No
No
No
No
Yes
No

result:

wrong answer expected YES, found NO [2nd token]

Subtask #3:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%

Subtask #4:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%

Subtask #5:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%

Subtask #6:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%

Subtask #7:

score: 0
Skipped

Dependency #1:

100%
Accepted

Dependency #2:

0%