Description
怎麼辦呢?多搞幾套系統唄!你說說倒蠻容易,成本呢?成本是個大問題啊.所以俺就到這裏來求救了,請幫助計算一下最少需要多少套攔截系統.
Input
Output
Sample Input
8 389 207 155 300 299 170 158 65
Sample Output
2
水題,提議很明顯,求一下LIS 的個數就好了。
ac代碼
#include<stdio.h>//b
#include<string.h>
#include<algorithm>
using namespace std;
int a[1010];
int n,ans,flag;
int dp(int m){
int my_max = 9999999;
for(int i=0; i<m; i++){
if(a[i]<my_max&&a[i]!=-1){
my_max = a[i];
a[i] = -1;
flag++;
}
}
ans++;
if(flag<m){
dp(m);
}
return ans;
}
int main()
{
while(scanf("%d",&n)!=EOF){
memset(a,-1,sizeof(a));
ans = 0,flag = 0;
for(int i=0; i<n; i++){
scanf("%d",&a[i]);
}
int M = dp(n);
printf("%d\n",M);
}
return 0;
}