为什么a[i]可以是负数
查看原帖
为什么a[i]可以是负数
378467
Windy_YY楼主2023/3/16 14:32

rt

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2e5 + 10;
int a[N], b[N], s[N];
int getsum(int l, int r)
{
  return s[r] - s[l - 1];
}
signed main()
{
  int n, m, c;
  cin >> n >> m >> c;
  for (int i = 1; i <= n; i++)
    cin >> a[i];
  for (int i = 1; i <= m; i++)
    cin >> b[i];
  for (int i = 1; i <= m; i++)
    s[i] = (s[i - 1] + b[i]) % c;
  int t = n - m + 1;
  for (int i = 1; i <= n; i++)
  {
    int l = i - t + 1, r = i;
    if (l > m) l = m;
    if (l < 1) l = 1;
    if (r > m) r = m;
    if (r < 1) r = 1;
    (a[i] += getsum(l, r)) %= c;
  }
  for (int i = 1; i <= n; i++)
    cout << (a[i] + c) % c << ' ';
  cout << '\n';
  return 0;
}
2023/3/16 14:32
加载中...