Cod sursa(job #2861543)

Utilizator czerjak22Czerjak Norbert-Levente czerjak22 Data 4 martie 2022 09:20:35
Problema Subsir crescator maximal Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.31 kb
#include <iostream>
#include <fstream>
using namespace std;

int szamok[20000000];
int maxik[20000000]={0};
int csucsok;
int legnagyobb;

void kiir_maxik()
{
    for(int i=0;i<csucsok;i++)
    {
        cout<<maxik[i]<<" ";
         cout<<endl;
    }
        cout<<legnagyobb;
}

void kiir()
{
    ofstream out ("scmax.out");
    out<<legnagyobb<<endl;
    for(int i=0;i<csucsok;i++)
    {
        if(maxik[i]==legnagyobb)
        {
            // cout<<szamok[i]<<" ";
             legnagyobb--;
             out<<szamok[i]<<" ";
        }


    }
}

void beolvas()
{
    ifstream in("scmax.in");
    in>>csucsok;
    for(int i=0;i<csucsok;i++)
    {
        in>>szamok[i];
    }
}
void scmax()
{
    maxik[csucsok-1]=1;
    for(int i=csucsok-2;i>=0;i--)
    {
        int segedmax=0;
        for(int j=i+1;j<csucsok;j++)
        {
             if(szamok[i]<szamok[j])
             {
                 if(maxik[j]>segedmax)
                 {
                     maxik[i]=maxik[j];
                     segedmax=maxik[j];
                 }
             }

        }
         maxik[i]+=1;
         if(legnagyobb< maxik[i])
         {
             legnagyobb=maxik[i];
         }
    }

}

int main()
{
    beolvas();
    scmax();
    //kiir_maxik();
    kiir();

}