128802025-01-02 20:26:47BucsMateSíkság (55)cpp17Accepted 55/5550ms2616 KiB
#include <iostream>
#include <set>

using namespace std;

int main()
{
    int N;
    cin >> N;
    int meresek[100001];
    for(int i = 1; i <= N; i++){
        cin >> meresek[i];
    }

    int maxHossz = 1, maxKezdet = 1, index1 = 1, index2 = 1;
    multiset<int> setSiksag;

    setSiksag.insert(meresek[1]);

    while(index1 <= N && index2 <= N){
        if(*setSiksag.rbegin() - *setSiksag.begin() <= 1){
            index2++;
            setSiksag.insert(meresek[index2]);
        }
        else{
            setSiksag.erase(setSiksag.find(meresek[index1]));
            index1++;
        }

        if(*setSiksag.rbegin() - *setSiksag.begin() <= 1 && maxHossz < index2 - index1 + 1){
            maxHossz = index2 - index1 + 1;
            maxKezdet = index1;
        }
    }
    cout << maxHossz << " " << maxKezdet << endl;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base55/55
1Accepted0/01ms320 KiB
2Accepted0/04ms568 KiB
3Accepted2/21ms320 KiB
4Accepted2/21ms320 KiB
5Accepted2/21ms320 KiB
6Accepted2/21ms320 KiB
7Accepted3/31ms356 KiB
8Accepted2/21ms320 KiB
9Accepted3/31ms412 KiB
10Accepted3/34ms444 KiB
11Accepted3/34ms412 KiB
12Accepted3/34ms740 KiB
13Accepted3/339ms580 KiB
14Accepted3/341ms2616 KiB
15Accepted3/343ms1732 KiB
16Accepted3/348ms980 KiB
17Accepted3/350ms1848 KiB
18Accepted3/346ms1612 KiB
19Accepted3/350ms1832 KiB
20Accepted3/348ms1580 KiB
21Accepted3/324ms1080 KiB
22Accepted3/341ms1872 KiB