听灌多
  • 板块灌水区
  • 楼主hatred
  • 当前回复2
  • 已保存回复3
  • 发布时间2024/10/9 23:07
  • 上次更新2024/10/10 13:36:27
查看原帖
听灌多
1315074
hatred楼主2024/10/9 23:07

P1020 [NOIP1999 提高组] 导弹拦截

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a[1010],b[1010]={0},f[10000]={0};
    int n=1,ans=0,t=0,maxn=0;
    while(cin>>a[n]) f[n]=1,n++;
    n--;
    for(int i=1;i<=n;i++){
        for(int j=1;j<i;j++){
        	if(a[i]<=a[j]){
        		f[i]=max(f[i],1+f[j]);
			}
		}
        maxn=max(maxn,f[i]);
    }
    cout<<maxn<<endl;
    while(t<n){
        ans++;
        int max=3100000;
        for(int i=1;i<=n;i++){
            if(b[i]==0&&a[i]<=max){
                max=a[i];
                b[i]=1;
                t++;
            }
        }
    }
    cout<<ans;
    return 0;
}
2024/10/9 23:07
加载中...