Pagini recente » Cod sursa (job #1164060) | Cod sursa (job #755692) | Cod sursa (job #154804) | Cod sursa (job #1512877) | Cod sursa (job #3139061)
#include <fstream>
#include <vector>
#define int long long
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int32_t main(){
int n;
f >> n;
vector<int>nums;
for (int i = 1; i <= n; ++i) {
int x;
f >> x;
nums.push_back(x);
}
vector<int> ans;
ans.push_back(nums[0]);
for (int i = 1; i < n; i++) {
if (nums[i] > ans.back())
ans.push_back(nums[i]);
else {
int low = lower_bound(ans.begin(), ans.end(), nums[i]) - ans.begin();
ans[low] = nums[i];
}
}
g << ans.size() << '\n';
for (auto i : ans)
g << i << ' ';
return 0;
}