Submission #729950

#TimeUsernameProblemLanguageResultExecution timeMemory
729950thimote75Coins (BOI06_coins)C++14
100 / 100
259 ms4208 KiB

#include <bits/stdc++.h>

using namespace std;

#define di pair<int, int>
#define vd vector<di>

int main () {
    int N, K;
    cin >> N >> K;

    vd res(N + 1);
    for (int i = 0; i < N; i ++) {
        int x, v;
        cin >> x >> v;

        res[i] = { x, 1 - v };
    }
    res[N] = { K, 0 };

    int last = 0;
    int mval = 0;
    for (int i = 0; i < N; i ++) {
        if (res[i].second == 0) continue ;
        int dx = res[i + 1].first - res[i].first;

        if (last >= dx) continue ;
        last += res[i].first;
        mval += 1;
    }

    cout << mval << endl;
    cout << (last == 0 ? K - 1 : (K - last)) << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...