7638 2024. 01. 10 10:12:40 BenedekMarton Síkság (55) cpp17 Hibás válasz 43/55 37ms 5872 KiB
#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;
    int t[n], m[100001], ln, lk, k=0, v=-1, maxh=0, maxi=0;
    for(int i=1; i<100001; i++)
    {
        m[i]=0;
    }
    for(int i=0; i<n; i++)
    {
        cin >> t[i];
    }
    ln=t[0];
    lk=t[0];
    while(v<n-1)
    {
        v++;
        m[t[v]]++;
        if(ln<t[v])
        {
            if(t[v]-lk>1)
            {
                if(v-k>maxh)
                {
                    maxh=v-k;
                    maxi=v;
                }
                for(k=k; m[lk]>0; k++)
                {
                    m[t[k]]--;
                }
                if(m[t[v]-1]>0)
                {
                    lk=t[v]-1;
                }
                else
                {
                    lk=t[v];
                }
                ln=t[v];
            }
            else
            {
                ln=t[v];
            }
        }
        else if(lk>t[v])
        {
            if(ln-t[v]>1)
            {
                if(v-k>maxh)
                {
                    maxh=v-k;
                    maxi=v;
                }
                for(k=k; m[ln]>0; k++)
                {
                    m[t[k]]--;
                }
                if(m[t[v]+1]>0)
                {
                    ln=t[v]+1;
                }
                else
                {
                    ln=t[v];
                }
                lk=t[v];
            }
            else
            {
                lk=t[v];
            }
        }
        //cout << k+1 << " " << v+1 << endl;
    }
    if(v-k+1>maxh)
    {
        maxh=v-k+1;
        maxi=v+1;
    }
    cout << maxh << " " << maxi-maxh+1;
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 43/55
1 Elfogadva 0/0 3ms 2644 KiB
2 Elfogadva 0/0 4ms 3004 KiB
3 Elfogadva 2/2 3ms 2924 KiB
4 Elfogadva 2/2 3ms 3308 KiB
5 Elfogadva 2/2 3ms 3472 KiB
6 Elfogadva 2/2 3ms 3604 KiB
7 Elfogadva 3/3 3ms 3740 KiB
8 Elfogadva 2/2 3ms 3812 KiB
9 Elfogadva 3/3 3ms 4048 KiB
10 Elfogadva 3/3 6ms 4320 KiB
11 Elfogadva 3/3 4ms 4528 KiB
12 Elfogadva 3/3 4ms 4736 KiB
13 Hibás válasz 0/3 35ms 5428 KiB
14 Elfogadva 3/3 20ms 5576 KiB
15 Elfogadva 3/3 28ms 5576 KiB
16 Elfogadva 3/3 35ms 5576 KiB
17 Elfogadva 3/3 35ms 5576 KiB
18 Hibás válasz 0/3 37ms 5640 KiB
19 Hibás válasz 0/3 35ms 5780 KiB
20 Hibás válasz 0/3 35ms 5872 KiB
21 Elfogadva 3/3 19ms 5452 KiB
22 Elfogadva 3/3 28ms 5692 KiB