Cod sursa(job #921568)

Utilizator The_Black_HunterBrehuescu Roland Cristian The_Black_Hunter Data 21 martie 2013 08:36:39
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int a[101], lung[101],  n, i, j, maxi, poz, k, v[101];
int main()
{
    f>>n;
    for(i=1; i<=n; i++)
        {
            maxi=0;
            f>>a[i];
            for(j=1; j<i; j++)
            if(a[j]<a[i]&&lung[j]>maxi) { lung[i]=lung[j]; maxi=lung[j]; }
            lung[i]++;
        }
    maxi=0;
    for(i=1; i<=n; i++)
    if(lung[i]>maxi) { maxi=lung[i]; poz=i; }
    g<<maxi<<'\n';
    for(i=poz; i>=1; i--)
    if(lung[i]==maxi&&a[i]<=a[poz])
        {
            v[++k]=a[i];
            poz=i;
            maxi--;
        }
    for(i=k; i>=1; i--)
    g<<v[i]<<' ';
    f.close();
    g.close();
    return 0;
}