Pagini recente » Cod sursa (job #2136174) | Cod sursa (job #1461819) | Cod sursa (job #693435) | Cod sursa (job #1335240) | Cod sursa (job #1153001)
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int n,a[100009];
int main(){
int i,x,s,d,m,r=0;
f>>n;
for(i=1; i<=n; ++i){
f>>x;
s=1; d=r;
while(s<d){
m=(s+d)/2;
if(a[m]<x)
s=m+1;
else
d=m;
}
if(a[s]==0){
a[s]=x;
r++;
}
else
if(a[s]<x){
r++;
a[r]=x;
}
else
if(a[s]>x){
a[s]=x;
}
}
g<<r<<'\n';
for(i=1; i<=r; ++i)
g<<a[i]<<' ';
return 0;
}