45852023-03-30 10:17:14gyjazminSípálya (55 pont)cpp11Wrong answer 0/55483ms6592 KiB
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
    iostream::sync_with_stdio(0);
    cin.tie(0);
    //beolvasas
    int n;
    int k;
    cin >> n >> k;
    //vector<int> elsop(n);
    vector<int> hegycsucsok(n);
    for (int i=0;i<n;i++){
        cin >> hegycsucsok[i];
    }
    /*//petakokba szamolas ha hegycsucsok[i]>hegycsucsok[i+1]
    for(int i=0;i<n;i++){
        if(i+k<=n&& hegycsucsok[i]>hegycsucsok[i+1]){
            int elozo= hegycsucsok[i];
            for(int j=i+1;j<i+k;j++){
                int cv=hegycsucsok[j];
                int pontok;
                while(cv!= elozo-1){
                    pontok++;
                    cv++;
                }
                elsop[i]+=pontok;
                elozo= hegycsucsok[j]+pontok;hegycsucsok[j]
            }
        }
    }*/
    vector<int> petakok(n);
    //masik remelhetoleg mindenre jo modszer(csak bitanglassú)
    for(int i=0;i<n;i++){
        if(i+k<=n){
            //feltolteni a vektort es megszamolni az osszeget
            vector<int> cvektor;
            int alapsum=0;
            for(int j=i;j<i+k;j++){
                cvektor.push_back(hegycsucsok[j]);
                alapsum += hegycsucsok[j];
            }
            //kivalasztani a legnagyobb helyet es erteket
            int cv=0;
            int maxe=0;
            int maxi=0;
            while(cv<k){
                if(cvektor[cv]>maxe){
                    maxe = cvektor[cv];
                    maxi = cv;
                }
                cv++;
            }
            //kiszamolni a szukseges sumot
            int szuksegessum=0;
            szuksegessum+= maxe;
               //a maxitol elore
            for(int j=1;j<maxi+1;j++){
                szuksegessum+=maxe+j;
            }
               //a maxitol hatra
            for(int j=1;j<k-maxi;j++){
                szuksegessum+=maxe-1;
            }
            //kiszamolni a petakok szamat
            petakok[i]=szuksegessum-alapsum;
        }
    }
    //legkisebb megtalalasa,kiiras
    int cv=0;
    int mine= INT_MAX;
    while(cv+k<=n){
        if(petakok[cv]<mine){
            mine=petakok[cv];
        }
        cv++;
    }
    cout << mine << endl;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base0/55
1Accepted0/03ms1828 KiB
2Wrong answer0/03ms2020 KiB
3Wrong answer0/23ms2260 KiB
4Wrong answer0/23ms2356 KiB
5Wrong answer0/23ms2564 KiB
6Wrong answer0/24ms2772 KiB
7Wrong answer0/34ms2980 KiB
8Wrong answer0/121ms3148 KiB
9Wrong answer0/125ms3416 KiB
10Wrong answer0/128ms3628 KiB
11Wrong answer0/139ms3580 KiB
12Wrong answer0/137ms3580 KiB
13Wrong answer0/183ms3880 KiB
14Wrong answer0/293ms3948 KiB
15Wrong answer0/239ms3796 KiB
16Time limit exceeded0/2474ms4564 KiB
17Time limit exceeded0/2472ms5596 KiB
18Time limit exceeded0/2460ms5972 KiB
19Time limit exceeded0/3467ms6592 KiB
20Time limit exceeded0/2460ms5200 KiB
21Time limit exceeded0/2432ms5392 KiB
22Time limit exceeded0/2476ms5292 KiB
23Time limit exceeded0/2460ms5396 KiB
24Time limit exceeded0/2483ms5452 KiB
25Time limit exceeded0/2474ms5468 KiB
26Time limit exceeded0/2472ms5616 KiB
27Time limit exceeded0/2456ms5652 KiB
28Time limit exceeded0/3472ms5752 KiB
29Time limit exceeded0/3467ms5948 KiB
30Time limit exceeded0/3416ms5904 KiB