Pagini recente » Cod sursa (job #2124696) | Cod sursa (job #259831) | Cod sursa (job #1660931) | Cod sursa (job #970823) | Cod sursa (job #1785955)
#include <iostream>
#include <fstream>
using namespace std;
void citire(int &n, int a[10000])
{
ifstream f("scmax.in");
f>>n;
for(int i=0; i<n; i++)
f>>a[i];
}
void generare(int n, int a[10000])
{
ofstream g("scmax.out");
int b[10000],var;
b[n-1]=1;
for(int i=n-2; i>=0; i--)
{
if(a[i]<a[i+1])
{
b[i]=2;
var=a[i+1];
for(int j=i+1; j<n; j++)
if(a[j]>var)
{
b[i]++;
var=a[j];
}
}
else
{
b[i]=1;
for(int j=i+2; j<n; j++)
if(a[j]>a[i])
b[i]++;
}
}
/*for(int i=0; i<n; i++)
{
g<<b[i]<<" ";
}*/
int max=0,poz,l=1,c[10000],p=0;
for(int i=0; i<n; i++)
{
if(b[i]>max)
{
max=b[i];
poz=i;
}
}
c[p++]=a[poz];
for(int i=poz+1; i<n; i++)
{
if(b[i]<max)
{
c[p++]=a[i];
l++;
max=b[i];
}
}
g<<l<<endl;
for(int i=0;i<p;i++)
g<<c[i]<<" ";
}
int main()
{
int n,a[10000];
citire(n,a);
generare(n,a);
return 0;
}