Pagini recente » Cod sursa (job #1507036) | Cod sursa (job #1083763) | Cod sursa (job #3038717) | Cod sursa (job #1078411) | Cod sursa (job #2834220)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int main()
{
long long x[5001],minn,mini,xm[10],ex[5001];
int n,pe=0,te;
fin>>n;
fin>>x[1];
for(int i=2;i<=n;i++){
fin>>x[i];
te=1;
for(int j=1;j<=pe && te==1;j++) if(ex[j]==x[i]) te=0;
if(te==1){
pe++;ex[pe]=x[i];
}
}
sort(ex+1, ex+pe+1);
minn=ex[1];
int pos=1;
for(int i=1;i<=n;i++){
if(x[i]==minn){
xm[pos]=i;
pos++;
}
}
int len,lenm=-1,test, nn;
for(int i=1;i<pos;i++){
mini=xm[i];
len=0;
nn=2;
test=1;
while(nn!=pe+1 && test==1){
test=0;
for(int i=mini+1;i<=n && test==0;i++){
if(x[i]==ex[nn]){
test=1;
len=len+(i-mini);
mini=i;
nn++;
}
}
}
if((len+1<lenm || lenm==-1) && test==1) lenm=len+1;
}
fout<<"-1";
return 0;
}