1 条题解

  • 0
    @ 2025-4-12 21:43:14

    C++ :

    #include<iomanip>
    #include<algorithm>
    #include<iostream>
    #include<vector>
    using namespace std;
    int main(){
    	int N,num;
    	while(cin>>N){
    		vector<int>v;
    		while(N--){
    			cin>>num;
    			v.push_back(num);
    		}
    		int max=0;
    		for(int i=v.size();i>0;i--){
    			for(int j=0;j<v.size();j++){
    				int sum=0;int min=101;
    				for(int k=j,count=1;count<=i;k++,count++){
    					if(k==v.size())
    						k=0;
    					sum+=v[k];
    					if(min>v[k])
    						min=v[k];
    				}
    				if(max<sum*min)
    					max=sum*min;
    			}	
    		}
    		cout<<max<<endl;
    	}
    	return 0;
    }
    

    Java :

    import java.util.Scanner;
    
    public class Main {
    	
    	public static void main(String[] args) {
    		
    		Scanner input = new Scanner(System.in);
    		while(input.hasNextInt()){
    			
    			int N = input.nextInt();
    			int[] ston = new int[N];
    			int i,j;
    			int defend = 0;
    			
    			for(i = 0; i < N; i++){
    				
    				ston[i] = input.nextInt();
    			}
    			
    			int[] temp;
    			for(i = 0; i < N; i++){
    				
    				for(j = 1; j <= N; j++){
    					
    					temp = new int[j];
    					int sum = 0;
    					for(int k = i,count = 0;count < j;k++,count++ ){
    						
    						int a = k >= N ? k - N : k;
    						temp[count] = ston[a]; 
    						sum += ston[a];
    					}
    					int min = min(temp);
    					int tempDe = sum * min;
    					if(defend < tempDe)
    						defend = tempDe;
    				}
    			}
    if(defend != 0)
    			System.out.println(defend);
    		}
    	}
    	
    	public static int min(int[] arr){
    		
    		int min = arr[0];
    		for(int i = 1; i < arr.length; i++){
    			
    			if(arr[i] < min)
    				min = arr[i];
    		}
    		return min;
    	}
    }
    
    • 1

    信息

    ID
    1292
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者