139792025-01-09 13:46:05szabelrSíkság (55)cpp17Wrong answer 31/5534ms796 KiB
#include <iostream>

using namespace std;

int main()
{
    int n;
    int szamok[100001];
    cin>>n;
    for(int i=1; i<=n; i++){
        cin>>szamok[i];
    }
    int hossz=0,bestkezd,bestveg;
    int kezd=1,veg=1,szam1=szamok[1],szam2=-1,szam1hely=1,szam2hely;
    while(szam2==-1 and veg<=n){
        veg++;
        if(szamok[veg]==szam1)
            szam1hely=veg;
          if(szamok[veg]==szam1-1 or szamok[veg]==szam1+1){
            szam2=szamok[veg];
            szam2hely=veg;
          }

         else if(szamok[veg]!=szam1){
            szam1=szamok[veg];
            szam1hely = veg;
            kezd=veg;
        }
        if((veg-kezd+1)>hossz){
            bestkezd=kezd;
            bestveg=veg;
            hossz=veg-kezd+1;
        }
        if(veg==n){
            cout<<hossz<<" "<<bestkezd;
        }
    }

    while(veg<=n)
    {
        veg++;
        if(szamok[veg]==szam1)
            szam1hely=veg;
        else if(szamok[veg]==szam2)
            szam2hely=veg;
        else if(szamok[veg]==szam2-1 or szamok[veg]==szam2+1){
            //szam1=szam2;
            kezd=szam1hely+1;
            //szam1hely=veg-1;
            szam1=szamok[veg];
        }
        else if(szamok[veg]==szam1-1 or szamok[veg]==szam1+1){
            //szam1=szam2;
            kezd=szam2hely+1;
            //szam1hely=veg-1;
            szam2=szamok[veg];
        }
        else{
            kezd=veg;
            szam1=szamok[veg];
            szam1hely=veg;
            szam2=-1;
            while(szam2==-1 and veg<=n){
            veg++;
            if(szamok[veg]==szam1)
                szam1hely=veg;
            if(szamok[veg]==szam1-1 or szamok[veg]==szam1+1){
                szam2=szamok[veg];
                szam2hely=veg;
            }
            else if(szamok[veg]!=szam1){
                szam1=szamok[veg];
                szam1hely = veg;
                kezd=veg;
            }
        }
        }
        if((veg-kezd+1)>hossz){
            bestkezd=kezd;
            bestveg=veg;
            hossz=veg-kezd+1;
        }
    }
    cout<<hossz<<" "<<bestkezd;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base31/55
1Accepted0/01ms316 KiB
2Wrong answer0/04ms316 KiB
3Wrong answer0/21ms316 KiB
4Wrong answer0/21ms316 KiB
5Wrong answer0/21ms316 KiB
6Accepted2/21ms316 KiB
7Wrong answer0/31ms316 KiB
8Accepted2/21ms316 KiB
9Wrong answer0/31ms508 KiB
10Accepted3/34ms508 KiB
11Accepted3/33ms316 KiB
12Accepted3/33ms316 KiB
13Wrong answer0/332ms696 KiB
14Accepted3/318ms616 KiB
15Accepted3/326ms760 KiB
16Wrong answer0/332ms744 KiB
17Accepted3/334ms628 KiB
18Wrong answer0/334ms564 KiB
19Accepted3/334ms552 KiB
20Accepted3/334ms796 KiB
21Accepted3/317ms564 KiB
22Wrong answer0/327ms564 KiB