18732022-12-06 20:43:58kovacs.peter.18fSíkság (55)cpp11Hibás válasz 36/5513ms5424 KiB
#include <iostream>
#include <vector>

using namespace std;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(nullptr);

    int N;
    cin >> N;
    vector<int> heightS(N), countS(100001);
    int different = 0, max_begin = 0, max_end = 0;
    for (int l = 0, r = 0; r < N; r++) { // zárt intervallum
        cin >> heightS[r];
        if (++countS[heightS[r]] == 1) {
            ++different;
        }
        while (different == 3) {
            --countS[heightS[l]];
            if (countS[heightS[l]] == 0) {
                --different;
            }
            ++l;
        }
        if (r - l > max_end - max_begin) {
            max_begin = l;
            max_end = r;
        }
    }
    cout << max_end - max_begin + 1 << " " << max_begin + 1 << '\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base36/55
1Elfogadva0/03ms2516 KiB
2Elfogadva0/03ms2856 KiB
3Hibás válasz0/23ms2924 KiB
4Elfogadva2/22ms3120 KiB
5Hibás válasz0/22ms3320 KiB
6Elfogadva2/22ms3524 KiB
7Elfogadva3/32ms3600 KiB
8Elfogadva2/22ms3600 KiB
9Hibás válasz0/32ms3728 KiB
10Elfogadva3/33ms3808 KiB
11Elfogadva3/33ms3808 KiB
12Elfogadva3/33ms3804 KiB
13Hibás válasz0/313ms4708 KiB
14Elfogadva3/39ms4916 KiB
15Elfogadva3/310ms4992 KiB
16Elfogadva3/313ms5088 KiB
17Hibás válasz0/312ms5164 KiB
18Hibás válasz0/313ms5424 KiB
19Elfogadva3/312ms5368 KiB
20Elfogadva3/312ms5368 KiB
21Elfogadva3/38ms4848 KiB
22Hibás válasz0/39ms5240 KiB