-
时间:2016-03-27 14:51:35 星期日
-
题目编号:[2016-03-27][HDU][1257][最少拦截系统]
-
分析:贪心,每当不能拦截就增加一个拦截系统,可以发现,每个拦截系统拦截的高度比较和出现的顺序一样.即第二个系统始终比第一个系统拦截的高度高
#include <cstdio>
using namespace std;
int a[30000 + 10];
int main(){
int n,b,flg;
while(~scanf("%d",&n)){
int cur = 1;a[0] = 30000 + 10;
for(int i = 0;i < n ; ++i){
scanf("%d",&b);
flg = 1;
for(int j = 0;j < cur;++j){
if(a[j] >= b){
a[j] = b;
flg = 0;
break;
}
}
if(flg){
a[cur] = b;
++cur;
}
}
printf("%d\n",cur);
}
return 0;
}
时间: 2024-12-28 02:05:25