130862025-01-06 12:07:37szabelrFasor (40)cpp17Belső hiba
#include <algorithm>
#include <iostream>
using namespace std;

int fak[200001] = {0};

int main() {
    long long n, k, h, maxVal = 0;
    cin >> n >> k;
    for (int i = 1; i <= n; i++) {
        cin >> h;
        fak[i] = h;
        if (h > maxVal)
            maxVal = h;
    }

    for (int i = 1; i <= n; i++) {
        if (fak[i] >= fak[i - 1]) {
            int eddig, tagok;

            // Jobb oldali ellenőrzés
            if (i + k > n)
                eddig = n;
            else
                eddig = i + k;

            int rightSize = eddig - i;
            int* resz = new int[rightSize];
            copy(fak + i + 1, fak + eddig + 1, resz);
            sort(resz, resz + rightSize);

            if (k - 1 < rightSize && resz[k - 1] > fak[i]) {
                delete[] resz;
                continue;
            }
            delete[] resz;

            // Bal oldali ellenőrzés
            if (i - k < 1)
                eddig = 1;
            else
                eddig = i - k;

            int leftSize = i - eddig + 1;
            resz = new int[leftSize];
            copy(fak + eddig, fak + i + 1, resz);
            sort(resz, resz + leftSize);

            if (k - 1 < leftSize && resz[k - 1] > fak[i]) {
                delete[] resz;
                continue;
            }
            delete[] resz;

            // Ha az index minden feltételnek megfelel
            cout << i << endl;
            return 0;
        }
    }

    // Ha egy index sem felel meg
    cout << -1 << endl;
    return 0;
}