82162024-01-12 20:35:36gergomiszoriSípálya (55 pont)cpp17Elfogadva 55/5568ms21100 KiB
#include <bits/stdc++.h>

using namespace std;

#define ll long long
#define endl "\n"
#define pll pair<ll,ll>
#define fs first
#define sc second

const ll MOD = 1e9+7;

void solve()
{
    ll n, k;
    cin >> n >> k;
    vector<ll> a(n);
    
    for(ll i = 0; i < n; i++)
    {
        cin >> a[i];
        a[i] += i;
    }
    
    if(k == 1)
    {
        cout << 0 << endl;
        return;
    }

    ll ans = LLONG_MAX;
    multiset<ll> elements;
    ll vsum = 0;

    for(ll i = 0; i < k; i++)
    {
        vsum += a[i];
        elements.insert(a[i]);
    }

    for(ll i = k-1; i < n; i++)
    {
        if(i >= k)
        {
            vsum -= a[i-k];
            vsum += a[i];
            elements.erase(elements.find(a[i-k]));
            elements.insert(a[i]);
        }
        auto it = elements.end();
        it--;
        ans = min(ans, k * *it - vsum);
    }
    cout << ans << endl;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    ll t = 1;
    //cin >> t;
    while(t--)
    {
        solve();
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/03ms1824 KiB
2Elfogadva0/03ms2064 KiB
3Elfogadva2/23ms2416 KiB
4Elfogadva2/23ms2580 KiB
5Elfogadva2/23ms2612 KiB
6Elfogadva2/23ms2748 KiB
7Elfogadva3/33ms2832 KiB
8Elfogadva1/16ms3180 KiB
9Elfogadva1/16ms3388 KiB
10Elfogadva1/16ms3276 KiB
11Elfogadva1/16ms3432 KiB
12Elfogadva1/16ms3420 KiB
13Elfogadva1/16ms3772 KiB
14Elfogadva2/26ms4084 KiB
15Elfogadva2/26ms3852 KiB
16Elfogadva2/263ms7396 KiB
17Elfogadva2/268ms16036 KiB
18Elfogadva2/265ms17172 KiB
19Elfogadva3/368ms21100 KiB
20Elfogadva2/265ms8900 KiB
21Elfogadva2/264ms8352 KiB
22Elfogadva2/264ms8356 KiB
23Elfogadva2/264ms7844 KiB
24Elfogadva2/264ms8100 KiB
25Elfogadva2/267ms9112 KiB
26Elfogadva2/267ms9596 KiB
27Elfogadva2/264ms10012 KiB
28Elfogadva3/365ms10072 KiB
29Elfogadva3/365ms10328 KiB
30Elfogadva3/368ms10868 KiB