Pagini recente » Cod sursa (job #1888219) | Cod sursa (job #1609183) | Cod sursa (job #1584434) | Cod sursa (job #2365046) | Cod sursa (job #2631854)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
int n, i, x, v[1];
int sclm[100001], fr[100001];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int n;
fin >> n;
fin >> v[1];
int k = 1;
sclm[k] = v[1];
fr[v[1]] = 1;
for(int i = 2; i <= n; i ++)
{
fin >> x;
if(fr[x] != 0)
continue;
else if(x > sclm[k] && fr[x] == 0)
{
sclm[++ k] = x;
fr[x] = 1;
}
else if(x < sclm[k] && fr[x] == 0){
int upper = upper_bound(sclm + 1, sclm + k + 1, x) - sclm;
sclm[upper] = x;
fr[x] = 1;
}
}
fout << k << "\n";
for(int i = 1; i <= k; i ++)
fout << sclm[i] << " ";
return 0;
}