Pagini recente » Cod sursa (job #1957343) | Cod sursa (job #803855) | Cod sursa (job #2102257) | Cod sursa (job #801459) | Cod sursa (job #1146528)
#include<iostream>
#include<fstream>
using namespace std;
int n, c=0, p, v[100002], b[100002], pre[100002];
int main(){
ifstream f("scmax.in");
f>>n;
for(int i=1;i<=n;i++)
f>>v[i];
for(int i=n;i>=1;i--)
{
b[i]=1;
for(int j=i;j<=n;j++)
if(b[i]<b[j]+1 && v[i]<v[j])
{
b[i]=b[j]+1;
pre[i]=j;
c=max(c, b[i]);
p=(c==b[i])?i:p;
}
}
ofstream g("scmax.out");
g<<c<<"\n";
while(c--)
{
g<<v[p]<<" ";
p=pre[p];
}
return 0;
}