Pagini recente » Cod sursa (job #1118971) | Cod sursa (job #94600) | Cod sursa (job #1284583) | Cod sursa (job #1298456) | Cod sursa (job #1120785)
#include <fstream>
#include <algorithm>
using namespace std;
int n,v[50005],vs[50005],w[50005];
int i,t,j,k,sol=(1<<30);
bool ok;
int main() {
ifstream f("secv.in");
ofstream g("secv.out");
f>>n;
for(i=1;i<=n;i++) {
f>>v[i];
vs[i]=v[i];
}
sort(vs+1,vs+n+1);
i=1;
while(i<=n) {
w[++k]=vs[i];
i++;
while(vs[i]==vs[i-1] && i<=n)
i++;
}
for(i=1;i<=n;i++) {
if(v[i]==w[1]) {
ok=1;
t=i+1;
for(j=2;j<=k;j++) {
while(t<=n && v[t]!=w[j])
t++;
if(t==n+1) {
ok=0;
break;
}
}
if(ok) {
sol=min(sol,t-i+1);
}
}
}
if(sol==(1<<30))
g<<"-1\n";
else
g<<sol<<"\n";
return 0;
}