Pagini recente » Cod sursa (job #825685) | Cod sursa (job #821274) | Cod sursa (job #1349083) | Cod sursa (job #695580) | Cod sursa (job #544007)
Cod sursa(job #544007)
#include <fstream>
#include <iostream>
using namespace std;
long i,i1,n,pos[100001],nr[100001],v[100001],vmax[100001],aux,k,kmax,nrmax,posmax;
int st[100001];
int main(void)
{
ifstream f("scmax.in");
ofstream g("scmax.out");
f>>n;
for (i=1;i<=n;i++)
{
f>>nr[i];
pos[i]=i;
st[i]=0;
}
for (i=1;i<n;i++)
for (i1=i;i1<=n;i1++)
if (nr[i]>nr[i1])
{
aux=nr[i];
nr[i]=nr[i1];
nr[i1]=aux;
aux=pos[i];
pos[i]=pos[i1];
pos[i1]=aux;
}
kmax=0;
for (i=1;i<=n;i++)
if (st[i]==0)
{st[i]=1;
k=1;
nrmax=nr[i];
posmax=pos[i];
v[k]=nr[i];
for (i1=i;i1<=n;i1++)
if ((pos[i1]>posmax)&&(nr[i1]>nrmax))
{
posmax=pos[i1];
nrmax=nr[i1];
k++;
v[k]=nr[i1];
}
if (k>kmax)
{
for (i1=1;i1<=k;i1++)
vmax[i1]=v[i1];
kmax=k;
}
}
g<<kmax;
g<<endl;
for (i=1;i<=kmax;i++)
g<<vmax[i]<<' ';
f.close();
g.close();
return 0;}