Pagini recente » Cod sursa (job #2602765) | Cod sursa (job #924441) | Cod sursa (job #1001735) | Cod sursa (job #1953059) | Cod sursa (job #945234)
Cod sursa(job #945234)
#include <fstream>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string.h>
#include <vector>
using namespace std;
int main()
{
ifstream fin("secv.in");
ofstream fout("secv.out");
int n, i, j, k, v[5001], s[5001], aux[5001], min = 5001, aux_size;
//Read
fin>>n;
for(i=1; i<=n; i++)
{
fin>>v[i];
s[i] = v[i];
}
//Compute
sort(s+1,s+n+1);
aux[1] = s[1];
aux_size = 1;
for(i=2; i<=n; i++)
if(s[i] != s[i-1])
aux[++aux_size] = s[i];
for(i=1; i<=n; i++)
if(v[i] == aux[1])
{
k = 0;
for(j=i; j<=n; j++)
{
if(v[j] == aux[k+1])
k++;
if(k == n)
if(j-i+1 <= min)
min = j-i+1;
}
}
//Print
if(min == 5001)
fout<<-1;
else
fout<<min;
}