Submission #576528

# Submission time Handle Problem Language Result Execution time Memory
576528 2022-06-13T07:16:36 Z Naser Fountain (eJOI20_fountain) C++17
0 / 100
70 ms 11164 KB
#include <bits/stdc++.h>
#define endl '\n'
#define int long long
#define pii pair<int,int>
#define vint vector<int>
#define se second
#define fi first
#define pb push_back
#define all(x) x.begin(), x.end()
using namespace std; 

int32_t main() {

    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);


    int t = 1;
     //cin >> t;
    while (t--) {
        int n, q;
        cin >> n >> q;
        vint d(n);
        vint c(n);
        for (int i = 0; i < n; i++) {
            cin >> d[i] >> c[i];
        }
        int prf[1000001] = {};
        prf[0] = c[0];
        for(int i = 1; i < n; i++){
            prf[i] = prf[i - 1] + c[i];
        }
        for(int i = 0; i < n; i++){
            cout << prf[i] << " ";
        }
        cout << endl;
        if(n > 1000){
            while(q--){
                int x,y;
                cin >> x >> y;
                x--;
                if(x != 0){
                    y+= prf[x - 1];
                }
                // cout << y  << ";" << endl;
                int ans =  lower_bound(prf, prf + n, y)- prf;
                if(ans == n){
                    cout << 0 << endl; continue;
                }
                cout << ans + 1 << endl;
            }
            return 0;
        }
        while (q--) {
            int x, y;
            cin >> x >> y;
            int pos = x - 1;
            if (c[pos] >= y) {
                cout << x << endl;
                continue;
            }
            else {
                y -= c[pos];
            }
            for (int i = x; i < n; i++) {
                if (d[i] > d[pos]) {
                    pos = i;
                    if (c[i] >= y) {
                        y = 0;
                        break;
                    }
                    else {
                        y -= c[i];
                        pos = i;
                    }
                }
                
            }
            if (y){
                cout << 0 << endl;
                continue;
            }
            cout << pos + 1 << endl;
        }
    }
}
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 8020 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 70 ms 11164 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 8020 KB Output isn't correct
2 Halted 0 ms 0 KB -