Submission #128831

#TimeUsernameProblemLanguageResultExecution timeMemory
128831PlurmCake 3 (JOI19_cake3)C++11
0 / 100
3 ms888 KiB
#include <bits/stdc++.h> using namespace std; long long sv[2048][2048]; int main(){ int n,m; scanf("%d%d",&n,&m); int v,c; vector<pair<int,int> > pieces; for(int i = 0; i < n; i++){ scanf("%d%d",&v,&c); pieces.emplace_back(v,c); } sort(pieces.begin(), pieces.end(), [](pair<int,int> x, pair<int,int> y){ return x.second < y.second; }); for(int i = 0; i+m-1 < n; i++){ long long highsum = 0ll; multiset<int> ms; for(int j = i; j < i+m; j++){ highsum += 1ll * pieces[j].first; ms.insert(pieces[j].first); } sv[i][i+m-1] = highsum; for(int j = i+m; j < n; j++){ if(pieces[j].first > *ms.begin()){ highsum -= 1ll * *ms.begin(); ms.erase(ms.begin()); ms.insert(pieces[j].first); highsum += 1ll * pieces[j].first; } sv[i][j] = highsum; } } long long ans = 0ll; for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ ans = max(ans, sv[i][j] + 2ll * pieces[i].second - 2ll * pieces[j].second); } } printf("%lld\n",ans); return 0; }

Compilation message (stderr)

cake3.cpp: In function 'int main()':
cake3.cpp:6:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d",&n,&m);
     ~~~~~^~~~~~~~~~~~~~
cake3.cpp:10:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d%d",&v,&c);
         ~~~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...