Submission #1223720

#TimeUsernameProblemLanguageResultExecution timeMemory
1223720spetrTricks of the Trade (CEOI23_trade)C++20
10 / 100
1120 ms5320 KiB
#include <bits/stdc++.h>
#include <cmath>
using namespace std;

#define ll long long
const ll mmod = 998244353;  
#define vl vector<long long>
#define vll vector<vector<long long>>



int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    ll n,k;
    cin >> n >>k;

    vl in;
    vl out;

    for (ll i = 0; i < n; i++){ll num; cin >> num; in.push_back(num);};
    for (ll i = 0; i < n; i++){ll num; cin >> num; out.push_back(num);};

    if (n <= 6000){
        ll m = -1e18;
        for (ll i = 0; i < n-k+1; i++){

            multiset<ll> maxima;
            ll sumain = 0, sumaout = 0;
            for (ll j = i; j < i + k; j++){
                sumaout += out[j];
                sumain += in[j];
                maxima.insert(out[j]);
            }
            m = max(sumaout - sumain, m);
            for (ll j = i+k; j < n; j++){
                sumain += in[j];
                sumaout += out[j];
                maxima.insert(out[j]);
                sumaout -= *maxima.begin();
                maxima.erase(maxima.begin());
                m = max(sumaout - sumain, m);

            }
        }
        cout << m;
    }


   
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...