Cod sursa(job #1660164)

Utilizator lflorin29Florin Laiu lflorin29 Data 22 martie 2016 20:56:33
Problema Subsir crescator maximal Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <bits/stdc++.h>

using namespace std;

int main()
{
freopen("scmax.in" ,"r", stdin);
freopen("scmax.out", "w", stdout);
int N;
scanf("%d", &N);
vector <int> A(N);
for(int i = 0; i < N; ++i)
   scanf("%d", &A[i]);

vector < int> low(1, A[0]);
for(int i = 1; i < N; ++i)
{
   auto it = lower_bound(begin(low), end(low), A[i]);
   if(it == end(low)) low.emplace_back(A[i]);
   else
      low[it - begin(low)] = A[i];
}
printf("%d\n", low.size());
for(auto e : low)
   printf("%d ", e);
return 0;
}