Pagini recente » Cod sursa (job #877370) | Cod sursa (job #3134265) | Cod sursa (job #3171063) | Cod sursa (job #852575) | Cod sursa (job #2335335)
#include <bits/stdc++.h>
int main() {
std::ifstream fin("scmax.in");
std::ofstream fout("scmax.out");
std::vector<int> lis;
int n;
fin >> n;
while(n--) {
int x;
fin >> x;
auto it = std::upper_bound(lis.begin(), lis.end(), x);
if(it == lis.end()) lis.push_back(x);
else *it = x;
}
lis.erase(std::unique(lis.begin(), lis.end()), lis.end());
fout << lis.size() << '\n';
for(auto i: lis) fout << i << ' ';
}