Pagini recente » Cod sursa (job #1716610) | Cod sursa (job #1863735) | Cod sursa (job #1867763) | Cod sursa (job #1823155) | Cod sursa (job #764393)
Cod sursa(job #764393)
#include <fstream>
#include <cstring>
using namespace std;
int main(void)
{
ifstream cin("scmax.in");
ofstream cout("scmax.out");
int n;
cin >> n;
int sir[100000];
int vect[100000];
int i;
for(i=0;i<n;i++)
cin >> sir[i];
memset(vect,0,sizeof(vect));
vect[n-1]=1;
int sirMax=1;
int j;
for(i = n-2;i>=0;i--)
{
if(sir[i]<sir[i+1])
{
j=i+1;
while(sirMax!=vect[j]&&j<n)
j++;
vect[i]=vect[j]+1;
sirMax = vect[i];
}
else
{
j=i+2;
while(sir[i]>=sir[j]&&j<n)
j++;
vect[i]=vect[j]+1;
}
}
cout << sirMax << endl;
i = 0;
while(sirMax)
{
while(vect[i]!=sirMax)
i++;
cout << sir[i] << " ";
sirMax--;
}
cout.close();
cin.close();
return 0;
}