Pagini recente » Cod sursa (job #1739633) | Cod sursa (job #1521551) | Cod sursa (job #2208719) | Cod sursa (job #869175) | Cod sursa (job #2220779)
#include<fstream>
#include<cstring>
#include<iostream>
#include<stack>
#include<algorithm>
#include<unordered_map>
#define DN 5005
#define DM 800005
#define M 666013
#define x first
#define y second
using namespace std;
ifstream fin("secv.in");
ofstream fout("secv.out");
int n,a[DN],pr,ur=1,dp[DN],mi=1e9,b[DN],m;
unordered_map<int,int>mp;
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>a[i];
if(mp.find(a[i])==mp.end())
{
m++;
b[m]=a[i];
mp[a[i]]=1;
}
}
sort(b+1,b+m+1);
for(int i=1;i<=m;i++)
mp[b[i]]=i;
for(int i=1;i<=n;i++)
a[i]=mp[a[i]];
for(int i=1;i<=n;i++)
{
if(a[i]==1)
dp[1]=i;
else
dp[a[i]]=dp[a[i]-1];
if(a[i]==m&&dp[a[i]])
mi=min(mi,i-dp[a[i]]+1);
}
fout<<mi;
}