Pagini recente » Cod sursa (job #1932689) | Cod sursa (job #1867403) | Cod sursa (job #200494) | Cod sursa (job #1917353) | Cod sursa (job #1448246)
#include<fstream>
using namespace std;
int n, x, p, u, mij, i, nr, sol[100003];
ifstream in("scmax.in");
ofstream out("scmax.out");
int main(){
in>>n;
for(i=1; i<=n; i++){
in>>x;
p=1; u=nr;
while(p<=u){
mij=p+(u-p)/2;
if(x<=sol[mij])
u=mij-1;
else
p=mij+1;
}
if(x<sol[p])
sol[p]=x;
if(p>nr)
sol[++nr]=x;
}
out<<nr<<"\n";
for(i=1; i<=nr; i++)
out<<sol[i]<<" ";
return 0;
}