Cod sursa(job #867912)

Utilizator PlatonPlaton Vlad Platon Data 30 ianuarie 2013 12:50:54
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>
#include <fstream>
  
using namespace std;
  
int a[100001], l[100001],poz, k,i,mx,maxa,n;
  
int main()
{
    ifstream f("scmax.in");
    ofstream g("scmax.out");
      
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>a[i];
    }
      
    l[n]=1;
    for(i=n-1;i>=1;i--)
    {
        for(k=i+1;k<=n;k++)
        {
			mx=0;
            if(a[i]<a[k]&&l[k]>=mx)
			{
				mx=l[k];
			}
			l[i]=mx+1;
			if(mx>maxa)
			{
				maxa=mx;
			}
        }
    }
    g<<maxa<<"\n";
    g<<a[poz]<<" ";
    for(i=1;i<=n;i++)
    {
        if(l[i]==maxa-1)
        {
            g<<a[i]<<" ";
            maxa--;
        }
    }

	cin>>n;
      
    return 0;
}