Submission #1351711

#TimeUsernameProblemLanguageResultExecution timeMemory
1351711rmielamudCake 3 (JOI19_cake3)C++20
0 / 100
0 ms344 KiB
#include <bits/stdc++.h>

using namespace std;

#define short int32_t
#define int int64_t
#define long __int128_t

const int inf{numeric_limits<int>::max() / 4};

short main() {
    #ifndef LOCAL
        ios_base::sync_with_stdio(false);
        cin.tie(nullptr);
    #endif

    int n, m;
    cin >> n >> m;

    vector<pair<int, int>> pieces(n);

    for (auto& [v, c] : pieces) {
        cin >> v >> c;
    }

    sort(pieces.begin(), pieces.end(), [&](const auto& a, const auto& b) {
        return a.second < b.second;
    });

    int v_sum{0};
    int res{-inf};

    for (int i{0}, j{0}; i + m <= n; i++) {
        for (; j < i + m; j++) {
            v_sum += pieces[j].first;
        }

        res = max(res, v_sum - (pieces[j - 1].second - pieces[i].second) * 2);

        v_sum -= pieces[i].first;
    }

    cout << res << "\n";

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...