QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#368622 | #8257. Marathon Race 2 | zyz07# | 7 | 1ms | 5884kb | C++17 | 1.6kb | 2024-03-27 14:25:28 | 2024-07-04 03:32:39 |
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%