求调
查看原帖
求调
922691
Hisy楼主2024/2/23 09:26
#include<cstdio>
#define int long long
#define mod 1000000007
int prefix1[500005],prefix2[500005];
signed main(signed,char**){
	int answer=0,size=0,sum1=0,sum2=0;
	scanf("%lld",&size);
	for(int iter=1;iter<=size;++iter){
		int got;
		scanf("%lld",&got);
		prefix1[iter]=prefix1[iter-1]+got;
	};
	for(int iter=1;iter<=size;++iter){
		int got;
		scanf("%lld",&got);
		prefix2[iter]=prefix2[iter-1]+got;
	};
	for(int iter=1;iter<=size;++iter){
		answer=(answer+(((size+1)*prefix1[iter])%mod)*prefix2[iter]%mod)%mod;
		sum1=(sum1+prefix1[iter])%mod;
		sum2=(sum2+prefix2[iter])%mod;
	};
	int top=(sum1*sum2)%mod;
	printf("%lld",(answer-top+mod)%mod);
	return 0;
};
2024/2/23 09:26
加载中...