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 |