Submission #576553

#TimeUsernameProblemLanguageResultExecution timeMemory
576553MuntherCarrotFountain (eJOI20_fountain)C++14
60 / 100
68 ms3312 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define endl "\n" #define all(x) x.begin(),x.end() int main() { ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int n,q; cin >> n >> q; vector<ll> d(n+1,0),c(n+1,0),x(n+1,0); for(int i=1;i<=n;i++) cin >> d[i] >> c[i]; x=c; for(int i=1;i<n+1;i++) x[i]+=x[i-1]; if(n > 1000 || q > 2000){ while(q--){ int r,v; cin >> r >> v; v+=x[r-1]; int ans=lower_bound(x.begin()+1,x.end(),v)-x.begin(); cout << (ans > n ? 0:ans) << endl; } } else{ while(q--){ int r,v; cin >> r >> v; int ans=0,idx=0; for(int i=r;i<=n;i++){ ans++; if(i != r){ if(d[i] <= d[idx]) continue; } idx=i; v-=c[i]; //cout << v << endl; if(v <= 0)break; } if(v > 0) ans++; ans+=r-1; cout << (ans > n ? 0:ans) << endl; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...