Pagini recente » Cod sursa (job #2390879) | Cod sursa (job #1259498) | Cod sursa (job #1611398) | Cod sursa (job #2694008) | Cod sursa (job #300751)
Cod sursa(job #300751)
#include<algorithm>
using namespace std;
#define DIM 5001
#define INF 2000000001
int a[DIM],sub[DIM];
void cpy(int a[DIM],int b[DIM]){
int i;
for(i=1; i<=b[0]; ++i)
a[i]=b[i];}
void solve(){
int i,j,k,min0;
scanf("%d",&a[0]);
for(i=1; i<=a[0]; ++i)
scanf("%d",&a[i]);
cpy(sub,a);
sort(sub+1,sub+a[0]+1);
for(i=1; i<=a[0]; ++i){
sub[++sub[0]]=sub[i];
for(; sub[i+1]==sub[i]&&i<a[0]; ++i);}
for(i=1,min0=INF; i<=a[0]; ++i){
for(; a[i]!=sub[1]&&i<=a[0]; ++i);
for(j=i,k=1; k<=sub[0]&&j<=a[0]; ++j)
if(a[j]==sub[k])
++k;
if(k==sub[0]+1&&j-i+1<min0)
min0=j-i+1;}
if(min0==INF)
printf("-1");
else
printf("%d",min0);}
int main(){
freopen("secv.in","r",stdin);
freopen("secv.out","w",stdout);
solve();
return 0;}