Cod sursa(job #2335381)
| Utilizator | Data | 3 februarie 2019 23:28:05 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.35 kb |
#include <fstream>
#include <algorithm>
std::ifstream f("scmax.in");std::ofstream g("scmax.out");const int N=2e5;int v[N],p[N],q[N];int i,j,n,mx,x;void a(int fx,int fp){while(p[fp]!=fx)fp--;if(fx>1)a(fx-1,fp-1);g<<v[fp]<<" ";}int main(){f>>n;for(i=1;i<=n;i++){f>>v[i];x=v[i];j=1;while(x>q[j]&&j<=mx)j++;q[j]=x;p[i]=j;mx=std::max(mx,j);}g<<mx<<"\n";a(mx,n);}
