Pagini recente » Cod sursa (job #2267391) | Cod sursa (job #2056889) | Cod sursa (job #2897699) | Cod sursa (job #2624472) | Cod sursa (job #2703493)
#include <bits/stdc++.h>
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
map <int,int > m;
int n,v[5005],last,maxim,minim,i,nr;
pair <int,int> lastp[5005];
int main()
{
f>>n;
if (n==0)
{
g<<"0";
return 0;
}
for (i=1;i<=n;i++)
{
f>>v[i];
m[v[i]]=1;
}
nr=0;
for (auto ind : m)
{
nr++;
m[ind.first]=nr;
}
for (i=1;i<=n;i++)
{
v[i]=m[v[i]];
if (v[i]>maxim)
{
maxim=v[i];
}
}
minim=1e9;
for (i=1;i<=n;i++)
{
if (v[i]==1)
{
lastp[1]={i,1};
}
else
{
if (lastp[v[i]-1].first!=0)
{
lastp[v[i]]={i,i-lastp[v[i]-1].first+lastp[v[i]-1].second};
}
}
if (lastp[maxim].first!=0)
{
minim=min(lastp[maxim].second,minim);
}
}
g<<minim;
return 0;
}