This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#ifndef Local
#pragma GCC optimize ("O3")
#pragma GCC optimize ("unroll-loops")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma comment(linker, "/STACK:1024000000,1024000000")
#endif
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
using namespace std;
#define popCnt(x) (__builtin_popcountll(x))
typedef long long Long;
const int N = 2e5 + 5;
pair<int, int> cake[N];
int main() {
ios_base::sync_with_stdio(0), cin.tie(0), cerr.tie(0);
#ifdef Local
freopen("test.in", "r", stdin);
#else
#define endl '\n'
#endif
int n, m;
cin >> n >> m;
for (int i = 0; i < n; ++i) {
cin >> cake[i].second >> cake[i].first;
}
sort(cake, cake + n);
Long res = LLONG_MIN;
for (int i = 0; i < n; ++i) {
Long sum = 0;
multiset<int> ms;
for (int j = i; j < n; ++j) {
sum += cake[j].second;
ms.insert(cake[j].second);
if (ms.size() > m) {
sum -= *ms.begin();
ms.erase(ms.begin());
}
if (ms.size() == m) {
res = max(res, sum - 2 * (cake[j].first - cake[i].first));
}
}
}
cout << res << endl;
}
Compilation message (stderr)
cake3.cpp:5:0: warning: ignoring #pragma comment [-Wunknown-pragmas]
#pragma comment(linker, "/STACK:1024000000,1024000000")
cake3.cpp: In function 'int main()':
cake3.cpp:44:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (ms.size() > m) {
~~~~~~~~~~^~~
cake3.cpp:48:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
if (ms.size() == m) {
~~~~~~~~~~^~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |