求助
查看原帖
求助
780505
x1489631649楼主2024/3/21 21:18
#include<bits/stdc++.h>
using namespace std;
int a[1000005];
int main() 
{
    int n,x,s=0;
    cin>>n>>x;
    if(x<=0)
    {
    	int minn=1e9,maxx=-1e9;
    	for(int i=1;i<=n;i++)
	    {
	    	cin>>a[i];
	    	s+=a[i];
	    	if(s-maxx<minn&&i!=1)
	    		minn=s-maxx;
			if(s>maxx)
				maxx=s;
		}
		cout<<max(s+minn*(x-1),s);
	}
	else{
		int minn=1e9,maxx=-1e9;
		for(int i=1;i<=n;i++)
	    {
	    	cin>>a[i];
	    	s+=a[i];
	    	if(s-minn>maxx)
	    		maxx=s-minn;
			if(s<minn)
				minn=s;
		}
		cout<<max(s+maxx*(x-1),s);	
	} 
	return 0;
}
2024/3/21 21:18
加载中...