Cod sursa(job #334329)

Utilizator indestructiblecont de teste indestructible Data 26 iulie 2009 11:49:24
Problema Secv Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <stdio.h>
#include <algorithm>
using namespace std;
#define N 5056
int n,v[N],salv[N],sir[N],r,length_shit;
void read_shit()
{
	scanf("%d",&n);
	int i;
	for (i=1; i<=n; i++)
	{
		scanf("%d",&v[i]);
		salv[i]=v[i];
	}
}
void making_da_sir()
{
	sort(salv+1,salv+n+1);
	int i;
	salv[0]=-1;
	for (i=1; i<=n; i++)
		if (salv[i]!=salv[i-1])
			sir[++r]=salv[i];
}
void solving_da_fucking_problem()
{
	length_shit=N;
	int i,j,act;
	for (i=1; i<=n-r+1; i++)
	{
		act=1;
		for (j=i; j<=n; j++)
		{
			if (v[j]==sir[act])
				act++;
			if (act==r+1)
			{
				if (j-i+1<length_shit)
					length_shit=j-i+1;
				break;
			}
		}
	}
	printf("%d\n",length_shit);
}
int main()
{
	freopen("secv.in","r",stdin);
	freopen("secv.out","w",stdout);
	read_shit();
	making_da_sir();
	solving_da_fucking_problem();
	return 0;
}