219612026-01-14 11:19:59bombinigusiniSípálya (55 pont)cpp17Elfogadva 55/5576ms1180 KiB
#include <iostream>
    using namespace std;
int main()
{
    int n, k;
    cin>>n>>k;
    int v[n];
    for(int i=0; i<n; i++) cin>>v[i];
    long long osszeg=0, minpetak, maxszam=v[0]-k, p;
    for(int i=0; i<k; i++)
    {
        osszeg=osszeg+v[i]+i-k;
        if(v[i]+i-k>=maxszam)
        {
            p=i;
            maxszam=v[i]+i-k;
        }
    }
    minpetak=maxszam*k-osszeg;
    for(int i=1; i<=n-k; i++)
    {
        maxszam--;
        if(i==p+1)
        {
            maxszam=v[i]-k;
            for(int j=0; j<k; j++)
            {
                if(v[i+j]-k+j>=maxszam)
                {
                    p=i+j;
                    maxszam=v[i+j]+j-k;
                }
            }
        }
        else if(v[i+k-1]-1>=maxszam)
        {
            maxszam=v[i+k-1]-1;
            p=i+k-1;
        }
        osszeg=osszeg-v[i-1]+v[i+k-1];
        if(k*maxszam-osszeg<minpetak)minpetak=k*maxszam-osszeg;
    }
cout<<minpetak;
return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms508 KiB
4Elfogadva2/21ms332 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva1/14ms316 KiB
9Elfogadva1/14ms604 KiB
10Elfogadva1/14ms512 KiB
11Elfogadva1/14ms316 KiB
12Elfogadva1/14ms316 KiB
13Elfogadva1/14ms316 KiB
14Elfogadva2/24ms432 KiB
15Elfogadva2/24ms316 KiB
16Elfogadva2/270ms1020 KiB
17Elfogadva2/270ms1108 KiB
18Elfogadva2/270ms956 KiB
19Elfogadva3/371ms1072 KiB
20Elfogadva2/271ms956 KiB
21Elfogadva2/270ms984 KiB
22Elfogadva2/271ms1076 KiB
23Elfogadva2/271ms1068 KiB
24Elfogadva2/276ms1116 KiB
25Elfogadva2/271ms1028 KiB
26Elfogadva2/271ms996 KiB
27Elfogadva2/270ms1180 KiB
28Elfogadva3/370ms952 KiB
29Elfogadva3/371ms1076 KiB
30Elfogadva3/371ms1076 KiB