A54.求和 | 《已尽力,力竭了》
原题链接:54.求和2026-08-31 17:56:28
发布于:陕西
#include<bits/stdc++.h>
#include<vector>
using namespace std;
const int man = 114514;
const int maxn = 100007;
int ans, c[man], num[man];
vector<int> s[man][2];
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n, m;
cin >> n >> m;
for(int i = 1; i <= n; i++) cin >> num[i];
for(int i = 1; i <= n; i++) cin >> c[i], s[i][i&1].push_back(i);
for(int f = 1; f <= m; f++){
for(int j = 0; j < 2; j++){
auto &v = s[f][j];
if(v.size() < 2) continue;
int cnt = 0, sb = 0, sb2 = 0, ssbb = 0;
for(int a:v){
int sbsb = num[a];
ans = (ans + a * sbsb % maxn * cnt + a * sb2 + sbsb * sb + ssbb) % maxn;
cnt++, sb = (sb + a) % maxn, sb2 = (sb2 + sbsb) % maxn, ssbb = (ssbb + a * sbsb) % maxn;
}
}
}
cout << ans % man;
return 0;
}





这里空空如也

















有帮助,赞一个