Cod sursa(job #1886108)

Utilizator AndreeaAmzaAndreea Amza AndreeaAmza Data 20 februarie 2017 17:52:23
Problema Subsir crescator maximal Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <ctime>
using namespace std;
ifstream f ("scmax.in");
ofstream g ("scmax.out");
short dx[]={1,1};
short dy[]={0,1};
int maxi,i,j,n,lmax[100001],a[100001],b,prim,ultim,poz,x;
struct pozi
{
    short lin,col;
}c[101*101],p;
clock_t t_start, t_stop;
int main()
{
    t_start=clock();
    f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
    lmax[n]=1;
//  urm[n]=-1;
  maxi=1;
  for(i=n-1;i>=1;--i)
   {lmax[i]=1;
   //urm[i]=-1;
   for(j=i+1;j<=n;++j)
       if(a[i]<a[j] && lmax[i]<lmax[j]+1)
         {
         lmax[i]=lmax[j]+1;
         //urm[i]=j;
         if(lmax[i]>maxi) {maxi=lmax[i]; poz=i;}
         }
   }
   g<<maxi<<'\n';
   for(i=1;i<=n && maxi!=0;i++)
    if(lmax[i]==maxi) {g<<a[i]<<" ";maxi--;}
   //cout<<endl;
   //for(i=1;i<=n;i++)
//    cout<<urm[i]<<" ";
    t_stop=clock();

    return 0;
}