社区讨论
70pts求调
P8590『JROI-8』这是新历的朝阳,也是旧历的残阳参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lo7pvmm9
- 此快照首次捕获于
- 2023/10/27 05:49 2 年前
- 此快照最后确认于
- 2023/10/27 05:49 2 年前
CPP
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int mod = 998244353;
int n, k, a[1000005], pre[1000005], pre2[1000005], ans, p;
signed main()
{
cin >> n >> k;
for (int i = 1 ; i <= n ; i ++)
{
cin >> a[i];
if (a[i] < 0)
{
p = i;
}
pre[i] = (pre[i - 1] + a[i] % mod + mod) % mod;
pre2[i] = (pre2[i - 1] + a[i] * a[i] % mod + mod) % mod;
}
for (int i = 1 ; i <= k ; i ++)
{
while (-a[p] - 1 < a[p] + i && p)
{
p --;
}
ans = (ans + (pre2[p] % mod + 2 * pre[p] % mod + p + mod) % mod + ((pre2[n] - pre2[p]) % mod + 2 * i * ((pre[n] - pre[p] + mod)) + mod + i * i * (n - p) % mod % mod) % mod + mod) % mod;
}
cout << ans;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...