Pagini recente » Cod sursa (job #1152089) | Cod sursa (job #818027) | Cod sursa (job #191762) | Cod sursa (job #1892772) | Cod sursa (job #486214)
Cod sursa(job #486214)
#include <iostream>
#include <stdlib.h>
#include <fstream>
using namespace std;
int main()
{
FILE *in = fopen("scmax.in", "r");
FILE *out = fopen("scmax.out", "w");
int N;
fscanf(in, "%d", &N);
int v[N], lung[N];
for (int i = 0; i < N; i++)
fscanf(in, "%d", &v[i]);
for (int i = 0; i < N - 1; i++)
{
int l = 1;
for (int j = i + 1; j < N; j++)
{
if (v[j - 1] < v[j] && v[i] < v[j])
l++;
else
if (v[j - 1] > v[j])
break;
}
lung[i] = l;
}
lung[N - 1] = 1;
int best = lung[0], bestPoz = 0;
for (int i = 1; i < N; i++)
{
if (lung[i] > best)
{
best = lung[i];
bestPoz = i;
}
}
fprintf(out, "%d\n", best);
fprintf(out, "%d ", v[bestPoz]);
for (int i = bestPoz + 1; i < N; i++)
{
if (v[i] > v[i - 1] && v[i] > v[bestPoz])
fprintf(out, "%d ", v[i]);
else
if (v[i] < v[i - 1])
break;
}
return 0;
}