Cod sursa(job #3210372)

Utilizator Denis_T2007Tarnar Denis Denis_T2007 Data 6 martie 2024 09:22:47
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fi("scmax.in");
ofstream fo("scmax.out");
int main()
{
    int n,i,k=1,v[100001]={0},l[100001]={0},poz[100001]={0},mx=0,maxim=0,sfs=0;
    fi>>n;
    for(i=0;i<n;i++){
        fi>>v[i];
    }
    for(i=0;i<n;i++){
        l[i]=1;
        mx=0;
        for(int j=i;j>=0;j--){
            if(v[i]>v[j]&&mx<l[j]){
                l[i]=l[j]+1;
                mx=l[j];
            }
            if(maxim<mx)maxim=mx,sfs=i;
        }
    }
    maxim++;
    cout<<maxim<<" "<<sfs<<endl;
    for(i=0;i<n;i++){
        for(int j=i;j>=0;j--){
            if(l[j]==maxim)poz[k]=j+1,cout<<j+1<<" ",maxim--,k++;
        }
    }
    cout<<k-1<<endl;
    fo<<k-1<<endl;
    for(i=k-1;i>0;i--){
        fo<<v[poz[i]-1]<<" ";
    }
    for(i=0;i<n;i++){
        cout<<l[i];
    }
}