Pagini recente » Cod sursa (job #1543744) | Cod sursa (job #3001514) | Cod sursa (job #2734540) | Cod sursa (job #1315056) | Cod sursa (job #721894)
Cod sursa(job #721894)
#include <fstream>
using namespace std;
int n,i,j,l,k,a[100001],m[100001],b[100001],lung[100001];
int main(){
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for (i=1;i<=n;i++){
f>>a[i];
m[i]=1;
lung[i]=2000000009;
for (j=l;j>=0;j--)
if (lung[j]<a[i]){
m[i]=j+1;
if (lung[j+1]>a[i])
lung[j+1]=a[i];
j=0;}
if (m[i]>l)
l=m[i];
}
g<<l<<'\n';
k=l;
for (i=n;i>=1;i--)
if (m[i]==l){
b[l]=a[i];
l--;}
for (i=1;i<=k;i++)
g<<b[i]<<' ';
return 0;}