Submission #1223204

#TimeUsernameProblemLanguageResultExecution timeMemory
1223204spetrTricks of the Trade (CEOI23_trade)C++20
5 / 100
1237 ms7224 KiB
#include <bits/stdc++.h>

using namespace std;

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

ll pow(ll x, ll n, ll mod){
    if (n == 0){
        return 1;
    }
ll half = pow(x, n / 2, mod);
ll half_square = (half * half) % mod;

if (n % 2 == 0) {
    return half_square;
} else {
    return (half_square * x) % mod;
}
}   


ll inversion_x(ll x, ll m){
    ll vysledek = pow(x,m-2);
    return vysledek;
}


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 = -1e21;
        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;
    }


    if (k == 2){
        vl prefix {0};
        ll suma = 0; 
        for (ll i = 0; i < n; i++){suma += in[i]; prefix.push_back(suma);}

        vl optimum;
        ll maximum;
    }

    return 0;
}

Compilation message (stderr)

trade.cpp: In function 'int main()':
trade.cpp:45:16: warning: overflow in conversion from 'double' to 'long long int' changes value from '-1.0e+21' to '-9223372036854775808' [-Woverflow]
   45 |         ll m = -1e21;
      |                ^~~~~
#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...