Submission #463399

#TimeUsernameProblemLanguageResultExecution timeMemory
463399gavgavFountain (eJOI20_fountain)C++14
30 / 100
1584 ms1464 KiB
#include <iostream> #include <stack> using namespace std; int main(){ uint32_t N, Q, level, volume; cin >> N >> Q; uint32_t capacitys[N], diametrs[N], nx[N] {}; stack <uint32_t> meowmeow; for (uint i = 0; i < N; i++){ cin >> diametrs[i] >> capacitys[i]; while (!meowmeow.empty() && diametrs[meowmeow.top()] < diametrs[i]){ nx[meowmeow.top()] = i; meowmeow.pop(); } meowmeow.push(i); } for (uint32_t i = 0; i < Q; i++){ cin >> level >> volume; level--; do{ if (volume < capacitys[level] + 1){ level++; break; } volume -= capacitys[level]; level = nx[level]; } while (level); cout << level << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...