Submission #697647

# Submission time Handle Problem Language Result Execution time Memory
697647 2023-02-10T15:42:12 Z finn__ Coins (BOI06_coins) C++17
100 / 100
75 ms 8140 KB
#include <bits/stdc++.h>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    uint64_t n, k;
    cin >> n >> k;

    vector<uint64_t> c(n);
    vector<bool> has_coin(n);

    for (size_t i = 0; i < n; i++)
    {
        unsigned h;
        cin >> c[i] >> h;
        has_coin[i] = h;
    }
    c.push_back(k);

    uint64_t max_new = 0, curr_sum = 0;
    for (size_t i = 0; i < n; i++)
    {
        if (!has_coin[i] && curr_sum + c[i] < c[i + 1])
            curr_sum += c[i], max_new++;
    }

    assert(max_new <= n);
    assert(curr_sum < k);

    cout << max_new << '\n'
         << (max_new ? k - curr_sum : k - 1) << '\n';
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 1 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 0 ms 212 KB Output is correct
7 Correct 69 ms 8140 KB Output is correct
8 Correct 64 ms 8132 KB Output is correct
9 Correct 75 ms 8124 KB Output is correct
10 Correct 72 ms 8116 KB Output is correct