Cod sursa(job #1551253)

Utilizator nicula_iulianNicula Iulian nicula_iulian Data 15 decembrie 2015 16:17:54
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.04 kb
#include <iostream>
#include<fstream>
#include<algorithm>
using namespace std;
struct ex
{
    int val1;
    int val2;
}x[100002],y[100002];
bool cmp(ex a,ex b)
{
 return a.val1<b.val1;
}
ex element[100002];
int main()
{int n,i,j,lmax=0,lcurent,k,l,v[100002],v2[100002];
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for(i=1;i<=n;i++)
{
    f>>element[i].val1;
    element[i].val2=i;
}
sort(element+1,element+n+1,cmp);
for(i=1;i<=n;i++)
    g<<element[i].val1<<" "<<element[i].val2<<"\n";
for(i=1;i<=n;i++)
{
    lcurent=1;
    v[lcurent]=element[i].val1;
    k=i;
    j=k+1;
    while(j<=n)
    {
        if(element[k].val1!=element[j].val1&&element[k].val2<element[j].val2)
        {
            lcurent++;
            v[lcurent]=element[j].val1;
        }
        k++;
        j++;
    }
    if(lcurent>lmax)
    {
        lmax=lcurent;
        for(k=1;k<=lmax;k++)
            v2[k]=v[k];
    }
}
g<<lmax<<"\n";
for(i=1;i<=lmax;i++)
    g<<v2[i]<<" ";
f.close();
g.close();
    return 0;
}