Cod sursa(job #785232)

Utilizator Mihai22eMihai Ionut Enache Mihai22e Data 8 septembrie 2012 10:38:17
Problema Secv Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
#include<fstream>
#include<algorithm>

using namespace std;

#define MAXN 5002

int v[ MAXN ], w[ MAXN ];

int n, i, j, nr, res = MAXN, t;

int main()
{
	ifstream f("secv.in");
	
	f >> n;
	
	for(i = 1; i <= n; ++i)
		f >> v[i], w[i] = v[i];
	
	sort(v + 1, v + n + 1);
	
	v[0] = -1;
	for(i = 1; i <= n; ++i)
		if(v[i] != v[i-1])
			++nr, v[nr] = v[i];
		
	for(i = 1; i <= n; ++i)	
	{
		for(t = 1, j = i; j <= n; ++j)
		{
			if(w[j] == v[t])
				++t;
			if(t > nr)
				break;
		}
		if(j - i + 1 < res && t > nr)
			res = j - i + 1;
	}
	
	if(res == MAXN)
		res = -1;
	
	FILE *g = fopen("secv.out", "w");
	
	fprintf(g, "%d\n", res);
	
	fclose(g);
	
	return 0;
}