Submission #1137810

#TimeUsernameProblemLanguageResultExecution timeMemory
1137810NewtonabcMarathon Race 2 (JOI24_ho_t3)C++20
7 / 100
12 ms15944 KiB
#include<bits/stdc++.h> #define int long long using namespace std; const int N=5e5+10; long long b[N],s[N],rev[N],ss[N]; signed main(){ int n,l,mn=INT_MAX,mx=INT_MIN; cin>>n >>l; for(int i=1;i<=n;i++){ int inp; cin>>inp; mn=min(mn,inp); mx=max(mx,inp); b[inp]++,rev[inp]++; } for(int i=1;i<=l;i++) b[i]+=b[i-1],s[i]=b[i]; s[0]=b[0]; for(int i=1;i<=l;i++) s[i]+=s[i-1]; for(int i=l;i>=0;i--) rev[i]+=rev[i+1],ss[i]=rev[i]; for(int i=l;i>=0;i--) ss[i]+=ss[i+1]; //s[mx],ss[mn] int q; cin>>q; while(q--){ int st,ed; long long ck; cin>>st >>ed >>ck; long long tmp=min(s[mx]+(long long)abs(mn-st)+(long long)(mx-mn)+(long long)((long long)(n+1)*(long long)abs(mx-ed)),ss[mn]+(long long)abs(mx-st)+(long long)(mx-mn)+((long long)(n+1)*(long long)abs(mn-ed))); if(tmp<=ck) cout<<"Yes"; else cout<<"No"; cout<<"\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...