P5686 100pts
This commit is contained in:
2024-10-22 22:03:21 +08:00
parent b2505a5361
commit 241c4863c9
4 changed files with 40 additions and 6 deletions

3
pre-sum/data.in Normal file
View File

@@ -0,0 +1,3 @@
3
2 3 4
3 4 5

30
pre-sum/main.cc Normal file
View File

@@ -0,0 +1,30 @@
#include <iostream>
using namespace std;
long long alpha[500005], beta[500005];
long long pre_alpha[500005], pre_beta[500005];
long long sum_alpha, sum_beta;
long long ans;
const int mod = 1000000007;
int main() {
int n;
cin >> n;
for (int i = 1; i <= n; ++i) {
cin >> alpha[i];
pre_alpha[i] = (pre_alpha[i - 1] + alpha[i]) % mod;
}
for (int i = 1; i <= n; ++i) {
cin >> beta[i];
pre_beta[i] = (pre_beta[i - 1] + beta[i]) % mod;
}
for (int i = 1; i <= n; i++) {
(ans += (((n + 1) * pre_alpha[i]) % mod) * pre_beta[i]) %= mod;
sum_alpha = (sum_alpha + pre_alpha[i]) % mod;
sum_beta = (sum_beta + pre_beta[i]) % mod;
}
long long tot = (sum_alpha * sum_beta) % mod;
ans = (ans - tot + mod) % mod;
cout << ans;
}