Pagini recente » Cod sursa (job #1323024) | Cod sursa (job #3163266) | Cod sursa (job #1541123) | Cod sursa (job #1667511) | Cod sursa (job #609703)
Cod sursa(job #609703)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
const int maxn=5005;
int i,j,N,Min;
vector<int> A,B;
int C[maxn];
int main() {
fin >> N; int x;
if(N==0) {
fout << 0;
return 0;
}
for(i=1;i<=N;i++) {
fin >> x;
A.push_back(x);
}
B=A;
sort(B.begin(),B.end());
C[++C[0]]=B[0];
for(i=1;i<N;i++)
if(B[i]!=B[i-1])
C[++C[0]]=B[i];
Min=N+1;
for(i=0;i<N-C[0]+1;i++) {
if(A[i]==C[1]) {
int k=2;
for(j=i+1;j<N;j++) {
if(k>C[0]) break;
if(A[j]==C[k]) k++;
}
if(k<C[0]) continue;
if(j==N && C[C[0]]!=A[N-1]) continue;
Min=min(Min,j-i);
}
}
if(Min==N+1) fout << -1;
else fout << Min;
}