为啥一直UE
查看原帖
为啥一直UE
756563
Suare_Pi楼主2024/3/20 17:18

编译信息

编译成功

RecordIDError: cannot get remote rid of record 151789398

#include <bits/stdc++.h>
using namespace std;
const int N=300010;
long long t,n,c,a[N],sum[N],minn,maxx;
int main()
{
	scanf("%lld%lld",&n,&c);
	for(int i=1;i<=n;i++)//输入+前缀和 
	{
		scanf("%lld",&a[i]);
		sum[i]=sum[i-1]+a[i];
	}

	if(c==1)//特判 
	{
		printf("%lld\n",sum[n]);
		return 0;
	}

	if(c>1)
	{
		for(int i=1;i<=n;i++)
		{
			minn=min(minn,sum[i]);
			t=max(t,sum[i]-minn);//最大区间和 
		}
		printf("%lld\n",t*(c-1)+sum[n]);
	}
	else
	{
		for(int i=1;i<=n;i++)
		{
			maxx=max(maxx,sum[i]);
			t=min(t,sum[i]-maxx);//最小区间和  
		}
		printf("%lld\n",t*(c-1)+sum[n]);
	}
	return 0;
}

Atcoder上都AC了

2024/3/20 17:18
加载中...