WA 40 救救我罢

P2671 [NOIP2015 普及组] 求和

``` #include <bits/stdc++.h> #define oddc (color[i] << 1 | 1) #define evenc (color[i] << 1) using namespace std; const int MOD = 10007; const int S = 1e5 + 5; typedef long long LL; int n, m; LL ans; LL number[S], color[S]; LL sum[2 * S]; vector<LL> e[2 * S]; int main() { // freopen("P2671_6.in", "r", stdin); cin >> n >> m; for (int i = 1; i <= n; i++) { cin >> number[i]; } for (int i = 1; i <= n; i++) { cin >> color[i]; } for (int i = 1; i <= n; i++) { if (i & 1) { e[oddc].push_back(i); sum[oddc] = (sum[oddc] + number[i]) % MOD; } else { e[evenc].push_back(i); sum[evenc] = (sum[evenc] + number[i]) % MOD; } } for (int i = 2; i <= (m << 1 | 1); i++) { if (e[i].size() > 1) { for (int j = 0; j < e[i].size(); j++) { LL idx = e[i][j]; LL nsum = (sum[i] + ((e[i].size() - 2) * number[idx]) % MOD) % MOD; ans = (ans + idx * nsum % MOD) % MOD; } } } cout << ans; return 0; }
by 1234567_scp @ 2023-09-24 23:20:39


@[1234567_scp](/user/368859) OOOOOOOOOOOOrz,wssb,闲着没事乱取模
by __LePetitPrince__ @ 2023-09-25 00:37:37


|