Submission #463430

#TimeUsernameProblemLanguageResultExecution timeMemory
463430gavgavFountain (eJOI20_fountain)C++17
30 / 100
1583 ms1300 KiB
#include <iostream>
#include <stack>
using namespace std;
int main(){
    ios_base::sync_with_stdio(false);
    uint32_t N, Q, level, volume;
    cin >> N >> Q;
    uint32_t diametrs[N], ng[N] {};
    uint16_t capacitys[N];
    stack <uint32_t> meowmeow;
    for (uint32_t i = 0; i < N; i++){
        cin >> diametrs[i] >> capacitys[i];
        while (!meowmeow.empty() && diametrs[meowmeow.top()] < diametrs[i]){
                ng[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 = ng[level];
        } while (level);
        cout << level << endl;
    }
}

Compilation message (stderr)

fountain.cpp: In function 'int main()':
fountain.cpp:23:24: warning: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Wsign-compare]
   23 |             if (volume < capacitys[level] + 1){
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...