Cod sursa(job #1241447)

Utilizator danstefanDamian Dan Stefan danstefan Data 13 octombrie 2014 16:01:26
Problema Subsir crescator maximal Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
//24 12 15 15 19
#include <fstream>
#include <cstdio>
using namespace std;
long long n,i,x[100000],v[10000],lu,j,k,mi,poz,ma,mm;
int main(){
    freopen("scmax.in","r",stdin);
    ofstream g ("scmax.out");
    scanf("%d",&n);
    for(i=1;i<=n;i++)
            scanf("%d",&v[i]);
            k=n;
            x[k]=1;
    for(i=n-1;i>=1;i--){
        mi=99999999;
        for(j=i+1;j<=n;j++)
        if(v[j]>v[i]&&v[j]<mi){mi=v[j];poz=j;}
        if(mi==99999999){k--;x[k]=1;}
        else {
        for(j=n;j>=1;j--)
        if(v[j]==mi){
                k--;
        x[k]=x[poz]+1;
        j=0;}}}
        for(i=1;i<=n;i++)
                if(x[i]>mm){ma=i;mm=x[i];}
       g<<mm<<'\n';
        g<<v[ma]<<" ";
        while(mm>0){
                mm--;
        for(i=ma;i<=n;i++)
        if(x[i]==mm){g<<v[i]<<" ";ma=i;break;}}
            return 0;}