Run ID:97344

提交时间:2024-11-14 00:38:21

#define _CRT_SECURE_NO_WARNINGS #include <math.h> #include <vector> #include <algorithm> #include <iostream> using namespace std; int hs[100001] = { }; int fn[100001] = { 50001 }; int fm[100001] = {}; int main() { int len = 0; while (scanf("%d", &hs[len++]) != EOF) if (getchar() == '\n') break; int maxm = 0; fm[0] = hs[len - 1]; for (int i = len - 1; i >= 0; i--){ int j = 0; for (; j < maxm; j++) { if (hs[i] <= fm[j]) { fm[j] = hs[i]; break; } } if (j == maxm)fm[maxm++] = hs[i]; } int maxn = 0; for (int i = 0; i < len; i++){ int j = 0; for (; j < maxn; j++){ if (hs[i] <= fn[j]) { fn[j] = hs[i]; break; } } if (maxn == j)fn[maxn++] = hs[i]; } printf("%d\n", maxn); return 0; }