103832024-04-01 17:47:57MagyarKendeSZLGLegtöbbször szomszédok (75 pont)cpp17Elfogadva 75/7513ms4952 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ÖsszpontTesztVerdiktIdőMemória
base75/75
1Elfogadva0/03ms1828 KiB
2Elfogadva0/012ms2876 KiB
3Elfogadva2/23ms2384 KiB
4Elfogadva2/23ms2600 KiB
5Elfogadva4/43ms2804 KiB
6Elfogadva4/43ms3040 KiB
7Elfogadva3/33ms3248 KiB
8Elfogadva4/43ms3428 KiB
9Elfogadva4/43ms3516 KiB
10Elfogadva4/43ms3536 KiB
11Elfogadva4/43ms3588 KiB
12Elfogadva4/44ms3568 KiB
13Elfogadva4/44ms3572 KiB
14Elfogadva4/44ms3564 KiB
15Elfogadva4/44ms3564 KiB
16Elfogadva4/46ms3628 KiB
17Elfogadva4/47ms3824 KiB
18Elfogadva4/48ms3892 KiB
19Elfogadva4/413ms4692 KiB
20Elfogadva4/413ms4924 KiB
21Elfogadva4/413ms4880 KiB
22Elfogadva4/413ms4952 KiB