Pagini recente » Cod sursa (job #728919) | Cod sursa (job #1442297) | Cod sursa (job #2843413) | Cod sursa (job #3240091) | Cod sursa (job #1369246)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,mx,poz;
int a[100010],d[100010];
int main()
{
f >> n;
for(int i = 1; i <= n; i++){
f >> a[i];
}
for(int i = n; i >= 1; i--){
d[i] = 1;
for(int j = i; j <= n; j++){
if(a[j] > a[i] && d[i] <= d[j]){
d[i] = d[j] + 1;
if(d[i] > mx){
mx = d[i];
poz = i;
}
}
}
}
g << mx <<"\n";
for(int i = poz; i <= n; i++){
if(d[i] == mx){
g << a[i] <<" ";
mx--;
}
}
return 0;
}