Cod sursa(job #2161643)
| Utilizator | Data | 11 martie 2018 19:59:06 | |
|---|---|---|---|
| Problema | Secv | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.01 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("secv.in");
ofstream out("secv.out");
int v[5001],v2[5001];
int main()
{
int n,i,j=0,min1=6000,poz,k;
in>>n;
for(i=1; i<=n; i++)
{
in>>v[i];
v2[i]=v[i];
}
sort(v2+1,v2+n+1);
v2[0]=-1;
for(i=1; i<=n; i++)
if(v2[i]!=v2[i-1])
v2[++j]=v2[i];
if(j==1)
out<<1;
else
{
for(i=1; i<=n-j+1; i++)
if(v[i]==v2[1])
{
poz=2;
for(k=i+1; k<=n; k++)
{
if(v[k]==v2[poz])
{
poz++;
if(poz==j+1)
{
min1=min(min1,k-i+1);
break;
}
}
}
}
if(min1!=6000)
out<<min1;
else
out<<-1;
}
return 0;
}
