Pagini recente » Cod sursa (job #776652) | Cod sursa (job #2857656) | Cod sursa (job #1883712) | Cod sursa (job #1176446) | Cod sursa (job #2702324)
#include <fstream>
using namespace std;
ifstream f("scmax.in");
ofstream g("scmax.out");
int i,n,inceput,ultimul,incep,ultim,j,precedent,maxim;
int nr[100005],elementeignorate[100005];
int main()
{
f>>n;
for(i=1;i<=n;i++)
{
f>>nr[i];
}
for(i=1;i<=n;i++)
{
inceput=i;
ultimul=i;
precedent=nr[i];
elementeignorate[1]=0;
for(j=i+1;j<=n;j++)
{
if(nr[j]>precedent)
{
ultimul=j;
precedent=nr[j];
elementeignorate[j]=elementeignorate[j-1];
}
else
{
elementeignorate[j]=elementeignorate[j-1]+1;
}
}
if(ultimul-inceput-(elementeignorate[ultimul]-elementeignorate[inceput])+1>maxim)
{
incep=inceput;
ultim=ultimul;
maxim=ultimul-inceput-(elementeignorate[ultimul]-elementeignorate[inceput])+1;
}
}
//g<<ultim<<" "<< incep<<" "<<elementeignorate[ultim]-elementeignorate[incep]<<'\n';
g<<ultim-incep-(elementeignorate[ultim]-elementeignorate[incep])+1<<'\n';
precedent=nr[incep];
g<<precedent<<" ";
for(i=incep+1;i<=ultim;i++)
{
if(nr[i]>precedent)
{
g<<nr[i]<<" ";
precedent=nr[i];
}
}
return 0;
}