10383 2024. 04. 01 17:47:57 MagyarKendeSZLG Legtöbbször szomszédok (75 pont) cpp17 Elfogadva 75/75 13ms 4952 KiB
#include <bits/stdc++.h>
using namespace std;

constexpr int INF = 1e4 + 1;

int main() {
	cin.tie(0), ios::sync_with_stdio(0);

    int N, M;
    cin >> N >> M;
    M--;

    vector<int> v(N);
    for (int& x : v) cin >> x;

    vector<array<int, 2>> befS({{INF, -1}}), aftS({{-INF, -1}});

    for (int i = 0; i < M; i++) {
        if (v[i] > v[M] && v[i] < befS.back()[0]) {
            befS.back() = {v[i], i};
        }
        else if (v[i] < v[M] && v[i] > aftS.back()[0]) {
            aftS.back() = {v[i], i};
        }
    }

    for (int i = M + 1; i < N; i++) {
        if (v[i] > v[M] && v[i] < befS.back()[0]) {
            befS.push_back({v[i], i});
        }
        else if (v[i] < v[M] && v[i] > aftS.back()[0]) {
            aftS.push_back({v[i], i});
        }
    }

    befS.push_back({INF, N});
    aftS.push_back({INF, N});

    int p1 = -1, p1_i = -1;
    for (int i = 0; i < size(befS) - 1; i++) {
        if (befS[i][0] == INF) continue;
        int val = befS[i + 1][1] - max(befS[i][1], M);
        if (p1 < val) {
            p1 = val;
            p1_i = befS[i][1];
        }
    }

    if (p1 == -1) {
        cout << "-1\n";
    } else {
        cout << p1_i + 1 << " " << p1 << "\n";
    }

    int p2 = -1, p2_i = -1;
    for (int i = 0; i < size(aftS) - 1; i++) {
        if (abs(aftS[i][0]) == INF) continue;
        int val = aftS[i + 1][1] - max(aftS[i][1], M);
        if (p2 < val) {
            p2 = val;
            p2_i = aftS[i][1];
        }
    }

    if (p2 == -1) {
        cout << "-1";
    } else {
        cout << p2_i + 1 << " " << p2;
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 75/75
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 12ms 2876 KiB
3 Elfogadva 2/2 3ms 2384 KiB
4 Elfogadva 2/2 3ms 2600 KiB
5 Elfogadva 4/4 3ms 2804 KiB
6 Elfogadva 4/4 3ms 3040 KiB
7 Elfogadva 3/3 3ms 3248 KiB
8 Elfogadva 4/4 3ms 3428 KiB
9 Elfogadva 4/4 3ms 3516 KiB
10 Elfogadva 4/4 3ms 3536 KiB
11 Elfogadva 4/4 3ms 3588 KiB
12 Elfogadva 4/4 4ms 3568 KiB
13 Elfogadva 4/4 4ms 3572 KiB
14 Elfogadva 4/4 4ms 3564 KiB
15 Elfogadva 4/4 4ms 3564 KiB
16 Elfogadva 4/4 6ms 3628 KiB
17 Elfogadva 4/4 7ms 3824 KiB
18 Elfogadva 4/4 8ms 3892 KiB
19 Elfogadva 4/4 13ms 4692 KiB
20 Elfogadva 4/4 13ms 4924 KiB
21 Elfogadva 4/4 13ms 4880 KiB
22 Elfogadva 4/4 13ms 4952 KiB