90922024-02-13 20:15:03RRoliSíkság (55)cpp17Elfogadva 55/5539ms4824 KiB
#include <iostream>
#include <set>

using namespace std;

int n, a[100001], sz[100001], maxi_l = 1, maxi_r = 1;
set<int> van;

int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> a[i];

    int l = 1;
	van.insert(a[1]);
    sz[a[1]]++;

    for(int r = 2; r <= n; r++) {
        sz[a[r]]++;
		van.insert(a[r]);
		set<int> torol;
		for(int i : van) {
			if(abs(a[r] - i) > 1) {
				while(sz[i] != 0) {
					l++;
					sz[a[l-1]]--;
				}
				torol.insert(i);
			}
		}
		for(int i : torol) van.erase(i); 
		if(r-l > maxi_r-maxi_l) {maxi_r = r; maxi_l = l;}
    }

	cout << maxi_r-maxi_l+1 << ' ' << maxi_l;

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base55/55
1Elfogadva0/03ms1820 KiB
2Elfogadva0/06ms2224 KiB
3Elfogadva2/23ms2224 KiB
4Elfogadva2/23ms2340 KiB
5Elfogadva2/23ms2416 KiB
6Elfogadva2/23ms2540 KiB
7Elfogadva3/33ms2752 KiB
8Elfogadva2/23ms2848 KiB
9Elfogadva3/33ms2840 KiB
10Elfogadva3/36ms3228 KiB
11Elfogadva3/34ms3340 KiB
12Elfogadva3/34ms3300 KiB
13Elfogadva3/337ms4344 KiB
14Elfogadva3/321ms4368 KiB
15Elfogadva3/328ms4460 KiB
16Elfogadva3/337ms4572 KiB
17Elfogadva3/337ms4824 KiB
18Elfogadva3/339ms4800 KiB
19Elfogadva3/337ms4776 KiB
20Elfogadva3/337ms4776 KiB
21Elfogadva3/321ms4508 KiB
22Elfogadva3/329ms4688 KiB