139792025-01-09 13:46:05szabelrSíkság (55)cpp17Hibás válasz 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base31/55
1Elfogadva0/01ms316 KiB
2Hibás válasz0/04ms316 KiB
3Hibás válasz0/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Hibás válasz0/31ms316 KiB
8Elfogadva2/21ms316 KiB
9Hibás válasz0/31ms508 KiB
10Elfogadva3/34ms508 KiB
11Elfogadva3/33ms316 KiB
12Elfogadva3/33ms316 KiB
13Hibás válasz0/332ms696 KiB
14Elfogadva3/318ms616 KiB
15Elfogadva3/326ms760 KiB
16Hibás válasz0/332ms744 KiB
17Elfogadva3/334ms628 KiB
18Hibás válasz0/334ms564 KiB
19Elfogadva3/334ms552 KiB
20Elfogadva3/334ms796 KiB
21Elfogadva3/317ms564 KiB
22Hibás válasz0/327ms564 KiB