Pagini recente » Diferente pentru summer-challenge-2007/solutii/runda-3 intre reviziile 16 si 15 | Cod sursa (job #2012201)
#include<fstream>
using namespace std;
ifstream f("subsir2.in");
ofstream g("subsir2.out");
int n;
int v[5001];
int sm[5001];
int main()
{
f>>n;
for(int i=1;i<=n;++i)
f>>v[i];
sm[1]=1;
for(int i=2;i<=n;++i){
sm[i]=1e9;
for(int j=i-1;j>=1;--j)
if(v[i]>=v[j]){
sm[i]=sm[j]+1;
break;
}
if(sm[i]==1e9)
sm[i]=1;
}
int lmax=sm[n];
for(int i=n-1;i>=1;--i){
bool ok=1;
for(int j=i+1;j<=n;++j)
if(v[j]>=v[i])
{
ok=0;
break;
}
if(ok==1)
lmax=min(lmax,v[i]);
}
g<<lmax;
return 0;
}