Cod sursa(job #3319732)

Utilizator _.diannaq._Bengescu Diana _.diannaq._ Data 2 noiembrie 2025 21:59:56
Problema Subsir crescator maximal Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.88 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("scmax.in");
ofstream fout("scmax.out");


int v[1001];
int dp[1001];
int bef[1001];
int main()
{
    
    int n;
    fin>>n;
    for(int i=0;i<n;i++){
        fin>>v[i];
    }
    
    
    
    for(int i=0;i<n;i++){
            int maxi=0;
            int s=0;
        for(int j=1;j<i;j++){
             if(dp[j]>maxi && v[i]>v[j]){
                maxi=dp[j];
                s=j;
             }
            
        }
        bef[i]=s;
        dp[i]=maxi+1;
    }
    
    
    int maxx=0;
    int j=0;
    for(int i=0;i<n;i++){
        if(dp[i]>maxx){
            maxx=dp[i];
            j=i;
        }
    }
fout<<maxx<<'\n';


int nou[1001];
for(int i=maxx-1;i>=0;i--){
    nou[i]=v[j];
    j=bef[j];
    
}

for(int i=0;i<maxx;i++){
    fout<<nou[i]<<" ";
}



    
    
 
}