Big Box
#include <stdio.h> #define N 500 int height[N]; int n; int main() { scanf("%d", &n); if (n <= 0) { printf("0"); return 0; } for (int i = 0; i < n; ++i) { scanf("%d", &height[i]); } //用于保存已高度i为结尾的箱子的最大选择个数 int res[n]; for (int i = 0; i < n; ++i) { res[i] = 1; for (int j = 0; j < i; ++j) { if ((height[j] < height[i]) && (res[i] < res[j] + 1)) { res[i] = res[j] + 1; } } } int max = res[0]; for (int i = 0; i < n; ++i) { max = max > res[i] ? max : res[i]; } printf("%d", max); return 0; }