Cod sursa(job #3326097)

Utilizator dbugnarDiana Bugnar dbugnar Data 27 noiembrie 2025 12:41:57
Problema Subsir crescator maximal Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.99 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream fin("scmax.in");
    ofstream fout("scmax.out");
    int a[100],lung[100],poz[100],n;
    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>a[i];
    lung[n]=1;
    poz[n]=-1;
    for(int i=n-1;i>=1;i--)
    {
        lung[i]=1;
        poz[i]=-1;
        for(int j=n;j>i;j--)
            if(a[i]<a[j]&&lung[i]<lung[j]+1)
            {
                lung[i]=lung[j]+1;
                poz[i]=j;
            }
    }
    fout<<"lungimea:";
    for(int i=1;i<=n;i++)
        fout<<lung[i]<<" ";
    fout<<"pozitia:";
    for(int i=1;i<=n;i++)
        fout<<poz[i]<<" ";
    int maxim=0,pozitie=0;
    for(int i=1;i<=n;i++)
         if(lung[i]>maxim)
         {
                maxim=lung[i];
                pozitie=i;
         }
    fout<<endl<<maxim<<endl;
    int vec[100],j=1;
     while(pozitie!=-1)
     {
        fout<<a[pozitie]<<" ";
        pozitie=poz[pozitie];
    }
}