2943 2023. 02. 04 18:24:29 horvathabel Síkság (55) cpp17 Elfogadva 55/55 35ms 5064 KiB

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n;
	cin>>n;
	bool vane[n];
	int x;
	cin>>x;
	int mx=x, mn=x;
	int ans=1;  
	int mego=-1;
	int lk=-1;
	int k=1;
	vector<int> szm; 
	szm.push_back(x);
	for (int i=1; i<n;i++){
		int y; 
		cin>>y; 
		szm.push_back(y);
		if (ans>mego){
			mego=ans; 
			lk=k;
			}
		if (mx==mn){
			if (y==mx ) ans++;

			else if (y==mx+1){
				ans++;
				mx=y;
			}
			else if (y==mn-1){
				ans++;
				mn=y;
				}
				else{
					
					mn=y; 
					mx=y; 
					k=i+1; 
					ans=1;
				}
		}
		else{
			if (mn==y or mx==y) ans++;
			else{
				if (ans>mego){
					mego=ans; 
					lk=k;
				}
				if (y==szm[i-1]-1){
					int j=i-2;
					ans=2;
					mn=y;
					mx=szm[j+1];
					while (szm[j]==y+1 && j>=0){
						ans++;
						j--;
					}
					k=j+2;
				} 
				else if(y==szm[i-1]+1){
					int j=i-2;
					mn=y-1;
					mx=y;
					ans=2;
					while (szm[j]==y-1 && j>=0){
						ans++;
						j--;
					}
					k=j+2;
				}
				else{
					k=i+1;
					mn=y;
					mx=y;
					ans=1;
				}
			}
		}
		
	
	}
	if (ans>mego){
		cout<<ans<<" "<<k;
		return 0; 
	}
	
	cout<<mego<<" "<<lk; 
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 55/55
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 4ms 2284 KiB
3 Elfogadva 2/2 3ms 2268 KiB
4 Elfogadva 2/2 2ms 2424 KiB
5 Elfogadva 2/2 2ms 2640 KiB
6 Elfogadva 2/2 2ms 2720 KiB
7 Elfogadva 3/3 3ms 2980 KiB
8 Elfogadva 2/2 3ms 3064 KiB
9 Elfogadva 3/3 3ms 2976 KiB
10 Elfogadva 3/3 4ms 3136 KiB
11 Elfogadva 3/3 4ms 3140 KiB
12 Elfogadva 3/3 4ms 3408 KiB
13 Elfogadva 3/3 32ms 4432 KiB
14 Elfogadva 3/3 19ms 4556 KiB
15 Elfogadva 3/3 27ms 4640 KiB
16 Elfogadva 3/3 35ms 4864 KiB
17 Elfogadva 3/3 34ms 4808 KiB
18 Elfogadva 3/3 35ms 4808 KiB
19 Elfogadva 3/3 35ms 5064 KiB
20 Elfogadva 3/3 34ms 4956 KiB
21 Elfogadva 3/3 18ms 4564 KiB
22 Elfogadva 3/3 28ms 4972 KiB