pat1045测试点34有问题

#include<stdio.h>
#include<string.h>
long long n, a[100000], max, min, i, j, g[100000] = { 0 }, sum = 0, k = 1;
main() {

scanf("%lld", &n);
for (i = 1; i <= n; i++) {
    scanf("%lld", &a[i]);
}
min = n;
for (i = n; i >= 1; i--) {
    if (a[min] >= a[i]) {
        g[i]++;
        min = i;

    }
}
max = 1;
for (i = 1; i <= n; i++) {
    if (a[max] <= a[i]) {
        g[i]++;
        max = i;
        if (g[i] == 2) {
            sum++;
        }
    }
}
printf("%lld\n", sum);
for (i = 1; i <= n; i++)
{
    if (g[i] == 2 && k == 0) {
        printf(" %lld", a[i]);
        
    }

img

img

    if (g[i] == 2 && k == 1) {
        printf("%lld", a[i]);
        k = 0;
    }


}
printf("\n");

}

img

img