Pagini recente » Cod sursa (job #1970751) | Cod sursa (job #2322793) | Cod sursa (job #2598708) | Cod sursa (job #1474116) | Cod sursa (job #470889)
Cod sursa(job #470889)
# include <fstream>
# include <iostream>
# include <algorithm>
# define DIM 5004
using namespace std;
int n, m, v[DIM], sol=DIM;
int l[DIM], p[DIM];
int cmp (int i, int j)
{
if (v[i]<v[j])return 1;
return 0;
}
void read ()
{
ifstream fin ("secv.in");
fin>>n;
for(int i=1;i<=n;++i)
fin>>v[i], p[i]=i;
sort(p+1, p+n+1, cmp);
int l=-1;
for (int i=1;i<=n;++i)
if (v[p[i]]!=l)
{
++m;
l=v[p[i]];
v[p[i]]=m;
}
else
v[p[i]]=m;
}
void solve ()
{
for(int i=1;i<=n;++i)
l[i]=DIM;
for (int i=1;i<=n;++i)
{
if (v[i]==1)
p[i]=i;
else
for(int j=i-1;j;--j)
if (v[j]+1==v[i] && i-p[j]+1<l[i])
p[i]=p[j], l[i]=i-p[j]+1;
if (v[i]==m && l[i]<sol)
sol=l[i];
}
}
int main()
{
read ();
solve ();
ofstream fout ("secv.out");
fout<<sol;
return 0;
}