Cod sursa(job #381178)

Utilizator gabipurcaruGabi Purcaru gabipurcaru Data 9 ianuarie 2010 15:34:45
Problema Secv Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <set>
using namespace std;

ifstream in("date.in");
ofstream out("date.out");

long n,x[5001],i,l[5001],p,minim,j,prev;
set<long> a;
set<long>::iterator it;

int main()
{
	in>>n;
	for(i=1; i<=n; i++)
	{
		in>>x[i];
		a.insert(x[i]);
	}
	for(i=1; i<=n; i++)
		if(x[i]==*a.begin())
		{
			it = a.begin();
			it++;
			l[i] = 1;
			j=i+1;
			while(it!=a.end())
			{
				while(x[j]!=*it && j<=n)
					j++;
				if(j>n)
					break;
				l[j]=j-i+1;
				it++;
			}
		}
	minim = -1;
	for(i=1; i<=n; i++)
		if(x[i] == *a.rbegin() && (minim == -1 || minim > l[i]))
			minim = l[i];
	out<<minim;
	return 0;
}