Pagini recente » Cod sursa (job #2456035) | Cod sursa (job #3288384) | Cod sursa (job #1778408) | Cod sursa (job #2258080) | Cod sursa (job #381186)
Cod sursa(job #381186)
#include <fstream>
#include <set>
using namespace std;
ifstream in("secv.in");
ofstream out("secv.out");
long n,x[5001],i,l[5001],p,minim,j,prev,k;
set<long> a;
set<long>::reverse_iterator it,it2;
int main()
{
in>>n;
for(i=1; i<=n; i++)
{
in>>x[i];
a.insert(x[i]);
}
it = a.rbegin();
minim = 1000000000;
for(i=n; i>=1; i--)
if(x[i] == *it)
{
it2 = it;
it2++;
for(k=i; it2!=a.rend(); it2++)
while(k>=0 && x[k]!=*it2)
k--;
if(k<0)
break;
if(it2==a.rend())
{
if(minim>i-k+1)
minim = i-k+1;
}
}
if(minim==1000000000)
out<<-1;
else
out<<minim;
return 0;
}