Pagini recente » Cod sursa (job #1146052) | Cod sursa (job #2373856) | Cod sursa (job #2146585) | Cod sursa (job #2275112) | Cod sursa (job #1015536)
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
#include <queue>
#include <deque>
#include <iomanip>
#include <stack>
#include <cstdio>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
#define baza 10
#define MAX 1100
#define MOD 104659
typedef long long int lli;
int a[MAX], b[MAX];
void findi(int i)
{
int j;
if(b[i]==0)
return;
for(j=i-1;b[j]!=b[i]-1;j--);
findi(j);
fout<<a[i]<<" ";
}
int main()
{
int n ,i, j, maxi;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a[i];
b[i]=1;
}
maxi=1;
for(i=1;i<=n;i++)
{
for(j=1;j<i;j++)
{
if(b[i]<=b[j] && a[i]>a[j])
b[i]=b[j]+1;
}
if(b[i]>b[maxi])
maxi=i;
}
fout<<b[maxi]<<"\n";
findi(maxi);
return 0;
}