Pagini recente » Cod sursa (job #1701223) | Cod sursa (job #422802) | Cod sursa (job #2705729) | Cod sursa (job #296396) | Cod sursa (job #2499187)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("scmax.in"); ofstream fout("scmax.out");
int n, len[100010], a;
string subsir[100010];
int bs(int x, int l, int r){
int m=l+r; m/=2;
if( len[m-1]<x && len[m]>=x){len[m]=x; subsir[m]=subsir[m-1]+to_string(x)+" "; return m;}
else{if(len[m-1]>=x){return bs(x, l, m-1);}
else{return bs(x, m+1, r);}}
}
int main(){
fin>>n;
subsir[0]="";
int m=0;
for(int i=1; i<=n; i++){
fin>>a;
if(len[m]<a){len[m+1]=a; subsir[m+1]=subsir[m]+to_string(a)+" "; m++;}
else{bs(a, 1, m);}
}
fout<<subsir[m];
return 0;
}