Cod sursa(job #2255109)

Utilizator EdgeLordXDOvidiuPita EdgeLordXD Data 6 octombrie 2018 13:49:55
Problema Subsir crescator maximal Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<bits/stdc++.h>
using namespace std;
ifstream in("scmax.in");
ofstream out("scmax.out");
int lis[10000][10000];
int main(){
    int n,i,j,x,l=1,i2;
    int b;
    in>>n>>x;
    lis[1][1]=x;
    for(i=2; i<=n; ++i){
        in>>x;
        b=0;
        for(j=1; j<=l && !b; ++j){
            if(lis[j][j]==x)
                b=2;
            else if(lis[j][j]>x)
                b=1;
        }
        if(!b){
            for(i2=1; i2<=j-1; ++i2)
                lis[j][i2]=lis[j-1][i2];
            lis[j][j]=x;
            ++l;
        }else if(b==1){
            for(i2=1; i2<=j-2; ++i2)
                lis[j-1][i2]=lis[j-2][i2];
            lis[j-1][j-1]=x;
        }
    }
    out<<l<<"\n";
    for(i=1; i<=l; ++i)
        out<<lis[l][i]<<" ";
    return 0;
}