有一种导弹拦截系统,不论第一发导弹多高都能拦截,但是以后只能拦截不超过前一发高度的导弹。已知n个依次飞来导弹的高度,请计算最少需要多少套这种拦截系统才能拦截所有导弹。
输入格式:
测试数据有多组,处理到文件尾。每组测试数据首先输入导弹总个数n(小于100的正整数),接着输入n个导弹依次飞来的高度(不大于30000的正整数,用空格分隔)。
输出格式:
对于每组测试,输出拦截所有导弹最少需要多少套这种拦截系统。
输入样例:
8 6 5 7 2 3 8 1 4
13 25894 14243 3345 26568 16782 17836 22381 4237 2763 28535 2031 16259 516
输出样例:
3
5
出处:
ZJUTOJ 1099
参考代码
#include <stdio.h>
int main() {
int n, i, j, max, ans;
int missiles[100], dp[100]; // dp数组存储拦截系统的最低高度
while (scanf("%d", &n) != EOF) { //