Pagini recente » Cod sursa (job #1003704) | Cod sursa (job #2648319) | Cod sursa (job #1452954) | Cod sursa (job #1387384) | Cod sursa (job #2320965)
#include <bits/stdc++.h>
using namespace std;
ifstream f("secv.in");
ofstream g("secv.out");
int n,i,a[5010],dr[5010];
pair<int,int> b[5010];
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>a[i];
b[i]={a[i],i};
}
sort(b+1,b+n+1);
a[b[1].second]=1;
for(i=2;i<=n;i++)
if(b[i].first==b[i-1].first)
a[b[i].second]=a[b[i-1].second];
else
a[b[i].second]=a[b[i-1].second]+1;
int Max=a[b[n].second],ans=n+1;
for(i=1;i<=n;i++)
if(a[i]==1)
dr[1]=i;
else
if(a[i]!=Max)
dr[a[i]]=max(dr[a[i]],dr[a[i]-1]);
else
ans=min(ans,i-dr[a[i]-1]+1);
g<<ans;
return 0;
}