Cod sursa(job #2140285)
| Utilizator | Data | 23 februarie 2018 10:21:53 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.7 kb |
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int v[100002],pred[100002],l[100002];
void af(int x)
{
if(x!=0)
{
af(pred[x]);
g<<v[x]<<" ";
}
}
int main()
{
int n,m,i,j,imax=0;
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i];
}
l[1]=1;
for(i=2;i<=n;i++)
{
l[i]=1;
for(j=1;j<i;j++)
{
if(l[j]+1>l[i]&&v[i]>v[j])
{
l[i]=l[j]+1;
pred[i]=j;
}
if(l[imax]<l[i])
{
imax=i;
}
}
}
g<<l[imax]<<endl;
af(imax);
return 0;
}
