Submission #128283

#TimeUsernameProblemLanguageResultExecution timeMemory
128283Mohammad_YasserCake 3 (JOI19_cake3)C++14
24 / 100
4062 ms5752 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...