Submission #203423

#TimeUsernameProblemLanguageResultExecution timeMemory
203423theStaticMindCake 3 (JOI19_cake3)C++14
24 / 100
4051 ms7540 KiB
#include<bits/stdc++.h>
#define pb push_back
#define ii pair<int,int>
#define all(x) (x).begin(),(x).end()
#define sz(x) ((int)(x).size())
#define INF 100000000000000000
#define modulo 1000000007
#define mod 998244353
#define int long long int
using namespace std;

bool operator< (ii a, ii b){
      return a.first < b.first || (a.first == b.first && a.second < b.second);
}
bool comp(ii a, ii b){
      return a.first > b.first || (a.first == b.first && a.second > b.second);
}

int32_t main(){
      ios_base::sync_with_stdio(false);
      cin.tie(NULL);;
      int n, m, ans = -INF;
      cin >> n >> m;
      vector<ii> arr(n);
      for(int i = 0; i < n; i++) cin >> arr[i].second >> arr[i].first;
      sort(all(arr));   
      for(int i = 0; i < n; i++){
            multiset<ii> data;
            int sum = arr[i].second;
            vector<ii> temp;
            for(int j = 1; j <= i; j++) temp.pb({arr[i - j].second, arr[i - j].first});
            sort(all(temp), comp);
            for(int j = 0; j < temp.size(); j++){
                  if(data.size() >= m - 1){
                        sum -= data.begin()->second;
                        data.erase(data.begin());
                  }
                  data.insert({temp[j].second, temp[j].first});
                  sum += temp[j].first;
                  if(data.size() == m - 1){
                        ans = max(ans, sum - 2 * (arr[i].first - data.begin()->first));
                  }
            }
      } 
      cout << ans;
}

Compilation message (stderr)

cake3.cpp: In function 'int32_t main()':
cake3.cpp:33:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int j = 0; j < temp.size(); j++){
                            ~~^~~~~~~~~~~~~
cake3.cpp:34:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                   if(data.size() >= m - 1){
                      ~~~~~~~~~~~~^~~~~~~~
cake3.cpp:40:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                   if(data.size() == m - 1){
                      ~~~~~~~~~~~~^~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...