Cod sursa(job #1551230)

Utilizator nicula_iulianNicula Iulian nicula_iulian Data 15 decembrie 2015 15:44:29
Problema Subsir crescator maximal Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 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,v[100002],v2[100002],k;
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-1;i++)
{
    lcurent=1;
    v[lcurent]=element[i].val1;
    for(j=i+1;j<=n;j++)
        if(element[j].val1!=element[j-1].val1) if(element[j].val2>element[j-1].val2)
        {
            lcurent++;
            v[lcurent]=element[j].val1;
        }
    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;
}