40pts 求助
查看原帖
40pts 求助
561313
orange_dusk楼主2023/4/29 12:09
#include<bits/stdc++.h>
using namespace std;
const long long MOD=998244353;
long long n,m,a[1000001],ans,f[1000001],id,sumf,sumz,sum;
int main()
{
	cin>>n>>m;
	for(long long i=1;i<=n;i++)
	{
		cin>>a[i];
		if(a[i]>=0)
		    sum+=a[i];
	    if(a[i]>=0&&id==0)
	    	id=i;
	    sum%=MOD; 
	}
	for(long long i=1;i<=n;i++)
	    ans+=(a[i]+1)*(a[i]+1),ans%=MOD;
	for(long long i=1;i<id;i++)
	    sumf+=(a[i]+1)*(a[i]+1),sumf%=MOD;
	for(long long i=id;i<=n;i++)
	    sumz+=a[i]*a[i],sumz%=MOD;
	for(long long i=2;i<=m;i++)
		ans+=(sumf+sumz+(i*2*sum)+i*i*(n-id+1)),ans%=MOD;
	cout<<ans<<endl;
 	return 0;
}
2023/4/29 12:09
加载中...