70pts求助!
查看原帖
70pts求助!
764672
ZJLmath楼主2023/1/1 11:31
#include<iostream>
using namespace std;
const unsigned long long mxn=5*1e5+5;
const unsigned long long p=1e9+7;
unsigned long long n,a[mxn],b[mxn],ans;
unsigned long long fa[mxn+1],fb[mxn+1];
unsigned long long S(unsigned long long l,unsigned long long r){
	return (((fa[r]-fa[l-1])%p)*((fb[r]-fb[l-1])%p))%p;
}
signed main(){
	cin>>n;
	for(unsigned long long i=1;i<=n;++i)cin>>a[i];
	for(unsigned long long i=1;i<=n;++i)cin>>b[i];
	fa[0]=fb[0]=0LL;
	for(unsigned long long i=1;i<=n;++i)fa[i]=(fa[i-1]+a[i])%p;
	for(unsigned long long i=1;i<=n;++i)fb[i]=(fb[i-1]+b[i])%p;
	for(unsigned long long l=1;l<=n;++l){
		for(unsigned long long r=l;r<=n;++r){
			ans=(S(l,r)+ans)%p;
			ans%=p;
		}
	}
	cout<<ans;
	return 0; 
}
2023/1/1 11:31
加载中...