Submission #128935

#TimeUsernameProblemLanguageResultExecution timeMemory
128935PlurmCake 3 (JOI19_cake3)C++17
24 / 100
4018 ms16504 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){
            swap(x.first, x.second);
            swap(y.first, y.second);
            return x < y;
        });
        for(int i = 0; i < 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 = -1e18;
        for(int i = 0; i < n; i++){
            for(int j = i+m-1; 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:14: 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:18: 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...