Pagini recente » Cod sursa (job #1684985) | Regulament preONI 2007 | Cod sursa (job #254006) | Profil UTGA_Condrea_Panainte_Ciubotaru | Cod sursa (job #2262669)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("scmax.in");
ofstream fout("scmax.out");
vector <int> v,a;
int main()
{
int n;
fin>>n;
for(int i=0;i<n;i++)
{
int x;
fin>>x;
v.push_back(x);
}
a.push_back(v[0]);
for(int i=1;i<n;i++)
{
if(v[i]>a.back())
{
a.push_back(v[i]);
}
else
{
auto it=upper_bound(a.begin(),a.end(),v[i]);
if(it!=a.begin()&&*(it-1)!=v[i])
*it=v[i];
else if(it==a.begin())
*it=v[i];
}
}
fout<<a.size()<<"\n";
for(auto x:a)
fout<<x<<" ";
return 0;
}