这个代码 在线下跑是过不了样例的 但是 提交以后就能通过 如果把最后结果 的+1去掉 线下跑看着没问题 但是 线上提交就都wa了 而且提示的 都是跟答案少1 很奇怪 跪求解答
#define MAXN 2000005
#define reg register
#define inl inline
#define db double
#define eps 1e-6
#define LL long long
#include <bits/stdc++.h>
using namespace std;
const int Mod = 998244353;
const db Pi = acos(-1.0);
long arr[500005];
int n, m;
int lowbit(int x){
return x & -x;
}
void ask(int x, long k){
for(int i = x; i <= n; i += lowbit(i)){
arr[i] += k;
}
}
long sums(int x){
long res = 0;
for(int i = x; i > 0; i -= lowbit(i)){
res += arr[i];
}
return res;
}
int main()
{
//freopen("P3368_1.in", "r", stdin);
cin >> n >> m;
long k, ks;
for(int i = 1; i <= n; i++){
scanf("%d", &k);
ask(i, k - ks);
ks = k;
}
int o, x, y;
for(int i = 0; i < m; i++){
cin >> o;
if(o == 1){
cin >> x >> y >> k;
ask(x, k);
ask(y + 1, -k);
}else{
cin >> x;
long res = sums(x) + 1;
cout << res << endl;
}
}
return 0;
}