Cod sursa(job #1426974)

Utilizator vancea.catalincatalin vancea.catalin Data 1 mai 2015 10:44:59
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<iostream>
#include<fstream>
using namespace std;
fstream fin("scmax.in",ios::in),fout("scmax.out",ios::out);
int v[100001],d[100001],poz[100001],final[100001];
int main()
{
    int n,i,j,maxim=-99999999,pozmax,maximm=-99999999,ceva=1;
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>d[i];
        maxim=0;
        for(j=i;j>0;j--)
        {
            if(v[j]>maxim&&d[j]<d[i])
            {
                maxim=v[j];
                poz[i]=j;
            }
        }
        v[i]=maxim+1;
        if(v[i]>maximm)
        {
            maximm=v[i];
            pozmax=i;
        }
    }
    while(pozmax!=0)
    {
        final[ceva++]=d[pozmax];
        pozmax=poz[pozmax];
    }
    fout<<ceva-1<<"\n";
    for(i=ceva-1;i>0;i--)
    {
        fout<<final[i]<<" ";
    }
    fout.close();
    fin.close();
    return 0;
}