198352025-12-25 10:48:06KristófSípálya (55 pont)cpp17Elfogadva 55/55118ms8100 KiB
#include <iostream>
#include <vector>
#include <map>
#include <set>
using namespace std;

int main()
{
    int n;
    long long k;
    cin>>n>>k;
    vector<int> nums(n);
    multiset<int> maxk;
    map<int,int> lastseen;
    for(int & x:nums)cin>>x;
    int j=0;
    long long sum=0;
    int i=0;
    for(;i<k;i++)
        {
        maxk.insert(nums[i]+i);
        sum+=nums[i];
        }
    long long sv=*maxk.rbegin()-j;

    long long ans=sv*k-k*(k-1)/2-sum;
    //cout<<ans;
    while(i<n)
        {
        maxk.erase(maxk.find(nums[j]+j));
        maxk.insert(nums[i]+i);
        sum-=nums[j];
        j++;
        sum+=nums[i];
        sv=*maxk.rbegin()-j;
        ans=min(ans,(sv*k)-((k*(k-1)/2))-sum);
        //cout<<i<<" "<<j<<"\n";
        i++;
        }
    cout<<ans;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms540 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/22ms316 KiB
6Elfogadva2/22ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva1/17ms452 KiB
9Elfogadva1/16ms508 KiB
10Elfogadva1/17ms440 KiB
11Elfogadva1/16ms500 KiB
12Elfogadva1/16ms492 KiB
13Elfogadva1/16ms580 KiB
14Elfogadva2/26ms564 KiB
15Elfogadva2/26ms316 KiB
16Elfogadva2/2109ms1456 KiB
17Elfogadva2/2115ms5804 KiB
18Elfogadva2/2114ms6308 KiB
19Elfogadva3/3115ms8100 KiB
20Elfogadva2/2114ms1844 KiB
21Elfogadva2/2109ms1708 KiB
22Elfogadva2/2112ms1704 KiB
23Elfogadva2/2112ms1448 KiB
24Elfogadva2/2118ms1588 KiB
25Elfogadva2/2114ms1968 KiB
26Elfogadva2/2114ms2224 KiB
27Elfogadva2/2112ms2472 KiB
28Elfogadva3/3112ms2356 KiB
29Elfogadva3/3115ms2736 KiB
30Elfogadva3/3115ms2984 KiB