Pagini recente » Cod sursa (job #1696792) | Cod sursa (job #928558) | Cod sursa (job #693274) | Cod sursa (job #1591887) | Cod sursa (job #782499)
Cod sursa(job #782499)
#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])
norm[++norm[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 - norm[0] + 1; i++)
{
if(v[i] == norm[1])
{
int j = 0, poz = 2;
for(j = i + 1; j <= n && poz <= norm[0]; j++)
if(v[j] == norm[poz])
poz++;
if(poz > norm[0])
minim = min(minim, j - i);
}
}
ofstream out("secv.out");
out<<(minim == INF ? -1 : minim);
out.close();
return 0;
}