Pagini recente » Cod sursa (job #367654) | Cod sursa (job #683366) | Cod sursa (job #640722) | Cod sursa (job #2916224) | Cod sursa (job #782500)
Cod sursa(job #782500)
#include <fstream>
#include <algorithm>
#include <vector>
#define MAX 8192
#define INF 0x3f3f3f3f
using namespace std;
int v[MAX], aux[MAX], norm[MAX], n, minim = INF;
vector< pair < int , int > > sol;
void normalize()
{
sort(aux + 1, aux + n + 1);
for(int i = 1; i <= n; i++)
{
if(aux[i] != aux[i - 1])
aux[++aux[0]] = aux[i];
}
}
int main()
{
ifstream in("secv.in"); in>>n;
for(int i = 1; i <= n; i++)
{
in>>v[i]; aux[i] = v[i];
}
normalize();
for(int i = 1; i <= n - aux[0] + 1; i++)
{
if(v[i] == aux[1])
{
int j = 0, poz = 2;
for(j = i + 1; j <= n && poz <= aux[0]; j++)
if(v[j] == aux[poz])
poz++;
if(poz > aux[0])
minim = min(minim, j - i);
}
}
ofstream out("secv.out");
out<<(minim == INF ? -1 : minim);
out.close();
return 0;
}