梦熊 J 组 · 猕猴桃赛 第二题求解
  • 板块学术版
  • 楼主封禁用户
  • 当前回复10
  • 已保存回复10
  • 发布时间2025/1/31 20:10
  • 上次更新2025/2/1 13:26:49
查看原帖
梦熊 J 组 · 猕猴桃赛 第二题求解
1283457
封禁用户楼主2025/1/31 20:10

第2题 P11642 【MX-X8-T1】「TAOI-3」幸运草

#include<bits/stdc++.h>
using namespace std;
int n,x,a[100010],b[100010],maxx,c=1;
int main(){
    cin>>n>>x;
    for(int i=1;i<=n;i++) cin>>a[i],b[i]=a[i];
    if(n==1){
    	if(a[1]>x) cout<<a[1]<<endl;
    	else cout<<x<<endl;
    	return 0;
	}
    if(n%2==0){
    	int j=n,i=1;
    	while(i!=n/2&&j!=n/2){
    		int ans=0;
    		for(int k=i;k<=j;k++) b[k]=x;
    		for(int k=1;k<=n;k++) ans+=b[k];
    		if(ans>maxx) maxx=ans;
    		if(c%2==1)
    			i++;
			else
				j++;
			c++;
			for(int k=1;k<=n;k++) b[k]=a[k];
		}
	}
    else{
    	int j=n,i=1;
    	while(i!=n/2+1&&j!=n/2+1){
    		int ans=0;
    		for(int k=i;k<=j;k++) b[k]=x;
    		for(int k=1;k<=n;k++) ans+=b[k];
    		if(ans>maxx) maxx=ans;
    		if(c%2==1)
    			i++;
			else
				j--;
			c++;
		}
	}
	cout<<maxx<<endl;
    return 0;
}
2025/1/31 20:10
加载中...