Submission #498056

#TimeUsernameProblemLanguageResultExecution timeMemory
498056KarabasanFountain (eJOI20_fountain)C++17
60 / 100
73 ms6336 KiB
#include <bits/stdc++.h> #define ll long long #define fast1 ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); #define endl "\n" #define int long long using namespace std; #pragma GCC optimize("Ofast") #pragma GCC target("fma,sse,sse2,sse3,avx") #pragma GCC optimize("unroll-loops") int n,m,k,q; int d[100005]; int c[100005]; int pre[100005]; void solve() { cin>>n>>q; for(int i=1;i<=n;i++) cin>>d[i]>>c[i]; if(n<=1000) { while(q--) { int a,b; cin>>a>>b; for(int i=a;i<=n;i++) { b-=c[i]; if(b<=0) { cout<<i<<endl; break; } int son=i; while(d[i+1]<=d[son]) i++; } if(b>0) cout<<0<<endl; } } else { pre[1]=c[1]; for(int i=2;i<=n;i++) pre[i]=pre[i-1]+c[i]; while(q--) { int a,b; cin>>a>>b; int cvp=lower_bound(pre+a,pre+1+n,b+pre[a-1])-pre; if(cvp<=n) cout<<cvp<<endl; else cout<<cvp<<endl; } } } signed main() { fast1 //freopen ("lca.gir","r",stdin); //freopen ("lca.cik","w",stdout); int t=1; //cin>>t; while(t--) { solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...