Cod sursa(job #1564762)
| Utilizator | Data | 9 ianuarie 2016 22:17:42 | |
|---|---|---|---|
| Problema | Subsir crescator maximal | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <cstdio>
using namespace std;
int v[100001];
int main()
{
FILE *fin = fopen("scmax.in", "r");
FILE *fout = fopen("scmax.out", "w");
int n, x;
fscanf(fin, "%d", &n);
for(int i=1; i<=n; ++i){
fscanf(fin, "%d", &x);
if(v[0] == 0 || v[v[0]] < x)
v[++v[0]] = x;
else if(v[v[0]] > x && v[v[0] - 1] < x)
v[v[0]] = x;
}
fprintf(fout, "%d\n", v[0]);
for(int i=1; i<=v[0]; ++i)
fprintf(fout, "%d ", v[i]);
return 0;
}
