Submission #1218612

#TimeUsernameProblemLanguageResultExecution timeMemory
1218612395333emCake 3 (JOI19_cake3)C++20
0 / 100
0 ms320 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;

const int N = 2e5 + 5;

int n, m;
pair <int, int> a[N];

int32_t main(){
    cin.tie(NULL)->sync_with_stdio(false);
    cin >> n >> m;
    for (int i = 1; i <= n; i++) {
        cin >> a[i].second >> a[i].first;
    }
    sort(a + 1, a + 1 + n);
    int ans = 0, sum = 0;
    multiset <int> ms;
    for (int i = 1; i <= n; i++) {
        ms.emplace(a[i].first);
        sum += a[i].second;
        if (i >= m) {
            sum -= a[i - m].second;
            ans = max(ans, sum - 2 * (*ms.rbegin() - *ms.begin()));
        }
        if (i > m) ms.erase(ms.find(a[i - m].first));
    }
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...