top1编程
← 返回题目
题解

【基础】拦截导弹

1 条题解

  • 0
    @ 2026-7-28 22:44:48
    #include<bits/stdc++.h>
    using namespace std;
    int n,k,p,x,a[1100];
    int main(){
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		cin>>x;
    		p=0;//每次都重新标记
    		for(int j=1;j<=k;j++){//已有系统
    			if(a[j]>=x){//能拦截
    				p=j;//更新当前系统
    				break;
    			}
    		}
    		if(p==0){
    			k++;
    			a[k]=x;
    		}else{
    			a[p]=x;
    		}
    	}
    	cout<<k;
    	return 0; 
    }
    
    • 1