76382024-01-10 10:12:40BenedekMartonSíkság (55)cpp17Hibás válasz 43/5537ms5872 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ÖsszpontTesztVerdiktIdőMemória
base43/55
1Elfogadva0/03ms2644 KiB
2Elfogadva0/04ms3004 KiB
3Elfogadva2/23ms2924 KiB
4Elfogadva2/23ms3308 KiB
5Elfogadva2/23ms3472 KiB
6Elfogadva2/23ms3604 KiB
7Elfogadva3/33ms3740 KiB
8Elfogadva2/23ms3812 KiB
9Elfogadva3/33ms4048 KiB
10Elfogadva3/36ms4320 KiB
11Elfogadva3/34ms4528 KiB
12Elfogadva3/34ms4736 KiB
13Hibás válasz0/335ms5428 KiB
14Elfogadva3/320ms5576 KiB
15Elfogadva3/328ms5576 KiB
16Elfogadva3/335ms5576 KiB
17Elfogadva3/335ms5576 KiB
18Hibás válasz0/337ms5640 KiB
19Hibás válasz0/335ms5780 KiB
20Hibás válasz0/335ms5872 KiB
21Elfogadva3/319ms5452 KiB
22Elfogadva3/328ms5692 KiB