Pagini recente » Cod sursa (job #2577117) | Cod sursa (job #2870218) | Cod sursa (job #106621) | Cod sursa (job #2590026) | Cod sursa (job #2063319)
#include <fstream>
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
int l[5001],a[5001],bf[5001],n,lmax,i;
int verif(int i)
{
for(int j=1;j<i;j++)
if(a[j]<a[i]) return 0;
return 1;
}
int valid (int i,int j)
{
for(int w=i+1;w<j;w++)
if(a[w]>=a[i]&&a[w]<=a[j]) return 0;
return 1;
}
void solve()
{
int i,j,mn,poz,mina=1000001,pozm,s,p;
l[n]=1;
for(i=n-1;i>=1;i--)
{
mn=1000001;
s=1000001;
for(j=i+1;j<=n;j++)
{
if(a[i]<=a[j]&&mn>a[j])
{mn=a[j];
if(l[j]<=s) s=l[j],p=j;}
}
if(mn==1000001) l[i]=1;
else l[i]=1+l[p],bf[i]=p;
}
g<<mn<<'\n';
}
int main()
{
f>>n;
for(i=1;i<=n;i++) f>>a[i];
solve();
return 0;
}