Cod sursa(job #2950848)

Utilizator lucametehauDart Monkey lucametehau Data 4 decembrie 2022 19:36:14
Problema Subsir crescator maximal Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.4 kb
#include <fstream>
#include <iostream>
std::ifstream f("scmax.in");
std::ofstream g("scmax.out");
int n,r,i,s,d,m,v[1<<17],k[1<<17],a[1<<17];
void p(){
if(r){
int n;
while(a[n=--i]!=r);
r--;
p();
g<<v[n]<<" ";}}
int main() {
for(f>>n,i=1;i<=n;k[d=i++]=2e9){f>>v[i],s=0;
while(s<=d)
if(k[m=(s+d)/2]<=v[i])
s=m+1;
else
d=m-1;
if(k[d]<v[i])
k[a[i]=s]=v[i],r=(s>r?s:r);
}
g<<r<<" ";
p();}