# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
879963 | AlexMoysi | Fountain (eJOI20_fountain) | C++14 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>#include <vector>using namespace std;struct Reservoir{ int diameter, volume;};int main(){ int N, Q; cin>>N>>Q; vector<Reservoir> Res; Res.resize(N); for(size_t c=0; c<N; c++) cin>>Res[c].diameter>>Res[c].volume; for(size_t c=0; c<Q; c++) { int R, V; cin>>R>>V; R--; // make 0 indexed V-=Res[R].volume; int r = R; while(V>0 && r<N) { if(Res[r].diameter > Res[R].diameter) { V-=Res[r].volume; R=r; } r++; } R++; // return to 1 indexed if(r == N) R = 0; cout<<R<<endl; } return 0;}