Cod sursa(job #2950906)
Utilizator | Data | 4 decembrie 2022 20:20:15 | |
---|---|---|---|
Problema | Subsir crescator maximal | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.31 kb |
#include<fstream>
std::ifstream f("scmax.in");std::ofstream g("scmax.out");
int n,r,i,s,m,v[1<<17],k[1<<17],a[1<<17];
void p(int i){
while(a[--i]-r);
if(--r)
p(i);
g<<v[i]<<" ";}
main(){
for(f>>n,i=1;i<=n;i++){f>>v[i],k[i]=2e9;
while(k[s]<v[i])r+=++s>r;
k[s-1]<v[i]?k[a[i]=s]=v[i]:s=0;}
g<<r<<" ",p(i);}