Pagini recente » Borderou de evaluare (job #1977736) | Cod sursa (job #3200558) | Cod sursa (job #353613) | Cod sursa (job #1358542) | Cod sursa (job #2335341)
#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::lower_bound(lis.begin(), lis.end(), x);
if(it == lis.end()) lis.push_back(x);
else *it = x;
}
fout << lis.size() << '\n';
for(auto i: lis) fout << i << ' ';
}