Pagini recente » Cod sursa (job #3191753) | Cod sursa (job #1557566) | Cod sursa (job #2776095) | Cod sursa (job #961307) | Cod sursa (job #1551257)
#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],v[100002];
int main()
{int n,i,j,lmax=0,lcurent,k,l,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].val1=element[i].val1;
v[lcurent].val2=element[i].val2;
k=i;
j=k+1;
while(j<=n)
{
if(v[lcurent].val1!=element[j].val1&&v[lcurent].val2<element[j].val2)
{
lcurent++;
v[lcurent].val1=element[j].val1;
v[lcurent].val2=element[j].val2;
}
k++;
j++;
}
if(lcurent>lmax)
{
lmax=lcurent;
for(k=1;k<=lmax;k++)
v2[k]=v[k].val1;
}
}
g<<lmax<<"\n";
for(i=1;i<=lmax;i++)
g<<v2[i]<<" ";
f.close();
g.close();
return 0;
}