211732026-01-12 16:37:17hunzombiSíkság (55)cpp17Hibás válasz 28/5534ms1452 KiB
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    vector<int> a;
    vector<int> visited(100001, 0);
    for (int i=0; i < n; i++) {
        int x;
        cin >> x;
        a.push_back(x);
    }
    int best = -1;
    int best_i = -1;
    int low = 0, high = 0, cnt = 0;
    while (high < n) {
        while (cnt < 3 && high < n) {
            if (visited[a[high]]++ == 0) {
                cnt++;
            }
            high++;
        }
        if (high - low > best) {
            best = high - low - 1;
            best_i = low + 1;
        }
        while (cnt > 2) {
            visited[a[low]]--;
            if (visited[a[low]] == 0) {
                cnt--;
            }
            low++;
        }
    }
    cout << best << ' ' << best_i << '\n';
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base28/55
1Elfogadva0/01ms564 KiB
2Elfogadva0/04ms820 KiB
3Hibás válasz0/21ms564 KiB
4Hibás válasz0/21ms564 KiB
5Hibás válasz0/21ms564 KiB
6Elfogadva2/21ms564 KiB
7Hibás válasz0/31ms564 KiB
8Elfogadva2/22ms996 KiB
9Hibás válasz0/32ms564 KiB
10Elfogadva3/34ms820 KiB
11Elfogadva3/33ms1080 KiB
12Hibás válasz0/33ms864 KiB
13Hibás válasz0/332ms1452 KiB
14Elfogadva3/318ms1368 KiB
15Elfogadva3/325ms1200 KiB
16Elfogadva3/332ms1420 KiB
17Hibás válasz0/334ms1388 KiB
18Hibás válasz0/334ms1200 KiB
19Elfogadva3/334ms1416 KiB
20Elfogadva3/334ms1432 KiB
21Elfogadva3/317ms1112 KiB
22Hibás válasz0/327ms1200 KiB