Cod sursa(job #1614459)
Utilizator | Data | 25 februarie 2016 22:42:59 | |
---|---|---|---|
Problema | Secv | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.49 kb |
#include <bits/stdc++.h>
using namespace std;
string z = "secv.";
ifstream f(z+"in");
ofstream g(z+"out");
int i,j,n,st,v[5001],w[5001],sol=1<<30;
int main()
{
f>>n;
for(i=0;i<n;++i)
f>>v[i],w[i]=++v[i];
sort(w,w+n);
w[unique(w,w+n)-w]=0;
for (j=n-1;j>=0;--j)
if(w[0]==v[j])
{
st=0;
for (i=j;i<n;++i)
{
if (v[i]==w[st])
++st;
if (!w[st])
sol=min(sol,i-j+1);
}
}
if (sol!=1<<30)g<<sol;
else g<<-1;
return 0;
}