Pagini recente » Cod sursa (job #1963664) | Cod sursa (job #399857) | Cod sursa (job #2006859) | Cod sursa (job #1581063) | Cod sursa (job #543816)
Cod sursa(job #543816)
# include <stdio.h>
using namespace std;
int deque [5000001], a[500001];
int main () {
int n, i, front = 1, back = 0;
freopen ("scmax.in", "r", stdin);
freopen ("scmax.out", "wt", stdout);
scanf ("%d", &n);
for (i = 1; i <= n; ++i)
scanf ("%d", &a[i]);
for (i = 1; i <= n; ++i) {
while (front <= back && a[i] <= a [ deque [ back ] ]) -- back;
deque [ ++ back ] = i;
}
printf ("%d\n", back);
for (i = front; i <= back; ++i)
printf ("%d ", a [ deque [ i ] ]);
printf ("\n");
return 0;
}