Pagini recente » Cod sursa (job #2863794) | Cod sursa (job #2822349) | Cod sursa (job #2259610) | Cod sursa (job #2369562) | Cod sursa (job #423708)
Cod sursa(job #423708)
#include<fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
long v1[100001],v2[100001];
int n;
int main()
{
int i,j,x,maxim,y;
f>>n;
for(i=1;i<=n;i++)
f>>v1[i];
v2[n]=1;
for(i=n-1;i>=0;i--)
{
maxim=0;
for(j=i+1;j<=n;j++)
{
if(v1[i]<=v1[j]&&maxim<v2[j])
{
maxim=v2[j];
x=j;
}
v2[i]=v2[x]+1;
}
}
maxim=0;
for(i=1;i<=n;i++)
{
if(maxim<v2[i])
{
x=i;
maxim=v2[i];
}
}
g<<maxim<<endl<<v1[x]<<" ";
y=v1[x];
for(i=x+1;i<=n;i++)
{
if(y<=v1[i]&&v2[i]==maxim-1)
{
y=v1[x];
g<<v1[i]<<" ";
maxim--;
}
}
return 0;
}