Cod sursa(job #878102)
| Utilizator | Data | 13 februarie 2013 23:18:34 | |
|---|---|---|---|
| Problema | Secv | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.13 kb |
#include <fstream>
#include <algorithm>
#include <limits.h>
using namespace std;
ifstream cin("secv.in");
ofstream cout("secv.out");
bool avem[20000005];
int n, i, j, a[50005], k, v[50005], best=INT_MIN, sol;
inline int max(int a, int b)
{
return a>b? a:b;
}
int main()
{
cin>>n;
for(i=1;i<=n;++i)
{ cin>>a[i];
if(!avem[a[i]])
{
++k;
v[k]=a[i];
avem[a[i]]=1;
}
}
sort(v+1, v+k+1);
for(i=1;i<=n;i++)
{
if(a[i]==v[1])
{
int indice=1;
for(j=i+1;j<=n+1; ++j)
{
if(indice==k)
{
sol=j-i;
best=max(sol, best);
break;
}
if(a[j]==v[indice+1])
{
indice++;
}
}
}
}
cout<<best<<"\n";
return 0;
}
