第23次CSP认证第二题202109-2

70分代码:

#include <iostream>
#include <vector>
using namespace std;


int main(int argc, char** argv) {
    
    
	int n;
	cin>>n;
	vector<int> A(n);
	for(int i=0;i<n;i++){
    
    
		cin>>A[i];
	}
	int min=A[0];
	int max=A[0];
	for(int i=0;i<n;i++){
    
    
		if(A[i]<min)min=A[i];
		if(A[i]>max)max=A[i];
	}
	if(min<2)min=2;
	vector<int> B(n);
	int ret=0; 
	for(int i=1;i<=max;i++){
    
    //p从2开始递增 依次判断 
		//先0化 
		for(int j=0;j<n;j++){
    
    
			if(A[j]<i){
    
    
				B[j]=0;
			}
			else{
    
    
				B[j]=A[j];
			}
		}
		int sum=0;
		
		for(int j=1;j<n;j++){
    
    
			if((B[j-1]!=0)&&(B[j]==0)){
    
    
				sum++;
			}
		}
		if(B[n-1]!=0){
    
    
			sum++;
		}
		if(sum>ret){
    
    
			ret=sum;
		}
		
	}
	cout<<ret;
	
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45784564/article/details/120469167