求救
查看原帖
求救
383667
zhaotianle123楼主2020/11/22 23:53
#include<iostream>
using namespace std;
const long long int mod=1e9+7;
int n;
long long int a[500010],b[500010],sa[500010],sb[500010],esa[500010],esb[500010],es[500010];
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		sa[i]=(sa[i-1]+a[i])%mod;
	}
	for(int i=1;i<=n;i++)
	{
		cin>>b[i];
		sb[i]=(sb[i-1]+b[i])%mod;
	}
	for(int i=1;i<=n;i++)
	{
		esa[i]=(esa[i-1]+sa[i])%mod;
		esb[i]=(esb[i-1]+sb[i])%mod;
		es[i]=(sa[i]*sb[i]%mod+es[i-1])%mod;
	}
	long long int ans=0;
	for(int i=1;i<=n;i++)
	{
		long long int s1=(es[n]-es[i-1]+mod)%mod;
		long long int s2=((esb[n]-esb[i-1]+mod)%mod*sa[i-1])%mod;
		long long int s3=((esa[n]-esa[i-1]+mod)%mod*sb[i-1])%mod;
		long long int s4=((n-i+1)*(sa[i-1]*sb[i-1])%mod)%mod;
		ans=(ans+s1-s2-s3+s4+mod)%mod;
	}
	cout<<ans;
}

P5868,样例都过了,交上去40分,请大佬们帮我看看

2020/11/22 23:53
加载中...