76732024-01-10 12:13:37gyjazminSípálya (55 pont)cpp17Hibás válasz 1/5589ms10264 KiB

#include <iostream>
#include<vector>
using namespace std;
typedef long long ll;
int main()
{
    int n, k;
    cin >> n >> k;
    vector<int> h(n);    
    int mx = 0;
    int mxh = 0;
    vector<int> hozzaadott(n);
    cin >> h[0];
    hozzaadott[0] = h[0];
    for (int i = 1;i < n;i++) {
        cin >> h[i];
        hozzaadott[i] = hozzaadott[i - 1] + h[i];
        if (h[i] > mx) {
            mx = h[i];
            mxh = i;
        }
    }
    vector<int> opt(n);
    vector<int> kiegyh(n);
    opt[0] = mx + mxh;
    kiegyh[0] = opt[0];
    for (int i = 1;i < n;i++) {
        opt[i] = opt[i - 1] - 1;
        kiegyh[i] = kiegyh[i - 1] + opt[i];
    }
    int legk =kiegyh[k-1]-hozzaadott[k-1];
    for (int i = 1;i < n-k;i++) {
        legk = min(legk, (kiegyh[i + k-1] - kiegyh[i - 1])-(hozzaadott[i+k-1]-hozzaadott[i-1]));
    }
    cout << legk << endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base1/55
1Elfogadva0/03ms1808 KiB
2Hibás válasz0/03ms2060 KiB
3Hibás válasz0/23ms2512 KiB
4Hibás válasz0/23ms2464 KiB
5Hibás válasz0/23ms2472 KiB
6Hibás válasz0/23ms2856 KiB
7Hibás válasz0/33ms3112 KiB
8Hibás válasz0/16ms3444 KiB
9Hibás válasz0/16ms3500 KiB
10Hibás válasz0/16ms3732 KiB
11Hibás válasz0/16ms3584 KiB
12Hibás válasz0/16ms3588 KiB
13Elfogadva1/16ms3656 KiB
14Hibás válasz0/26ms3648 KiB
15Hibás válasz0/26ms3648 KiB
16Hibás válasz0/282ms9620 KiB
17Hibás válasz0/281ms9800 KiB
18Hibás válasz0/281ms9756 KiB
19Hibás válasz0/382ms10012 KiB
20Hibás válasz0/282ms10092 KiB
21Hibás válasz0/281ms10032 KiB
22Hibás válasz0/281ms10032 KiB
23Hibás válasz0/282ms10176 KiB
24Hibás válasz0/289ms10208 KiB
25Hibás válasz0/282ms10176 KiB
26Hibás válasz0/282ms10028 KiB
27Hibás válasz0/282ms10028 KiB
28Hibás válasz0/381ms10032 KiB
29Hibás válasz0/381ms10180 KiB
30Hibás válasz0/382ms10264 KiB