注解
1、模拟整个过程。每次应该使用的是大于等于当前高度且离当前高度距离最小的那个拦截系统。如果没有,就必须新建一个拦截系统了。
代码
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
while(cin>>n){
int num = 0;
int mmin[n];
for(int i=0; i<n; i++){
mmin[i] = 30001;
}
for(int i=0; i<n; i++){
int t;
cin>>t;
int flag = 0;
for(int j=0; j<num; j++){
if(mmin[j]>t){
mmin[j] = t;
flag = 1;
break;
}
}
if(!flag){
mmin[num] = t;
num++;
sort(mmin, mmin+num);
}
}
cout<<num<<endl;
}
return 0;
}