QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#368615 | #8257. Marathon Race 2 | zyz07# | 7 | 1ms | 5872kb | C++17 | 1.4kb | 2024-03-27 14:18:50 | 2024-07-04 03:32:36 |
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 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: 0ms
memory: 5872kb
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: 1ms
memory: 5664kb
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: 1ms
memory: 5588kb
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: 5804kb
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: 1ms
memory: 5656kb
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: 1ms
memory: 5644kb
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: 1ms
memory: 5648kb
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: 0ms
memory: 3496kb
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: 0ms
memory: 3540kb
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: 5652kb
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: 5668kb
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: 0
Wrong Answer
time: 1ms
memory: 5644kb
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 No No No No Yes
result:
wrong answer expected YES, found NO [4th 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%