【团队题】样例过,但是0分,调试无果

题目总版

zzhengxi @ 2024-11-16 18:49:59

题目来啦

题目名:数据结构

题目描述

  • 操作 1 将 a_i 加上 x
  • 操作 2 求区间 [l,r] 的和。

输入格式

第一行两个数 n,m

第二行 n 个整数 a_i

接下来 m 行,每行三个整数:

  • 1 i x:操作 1。
  • 2 l r:操作 2。

输出格式

对于每个操作 2 输出一个整数。

样例 #1

样例输入 #1

5 3
1 2 3 4 5
2 1 5
1 5 1
2 1 5

样例输出 #1

15
16

提示

数据范围 测试点 分值
1\le n,m\le 10^4 subtask 1 30
1\le n,m\le 10^5 subtask 2 70
$1\leq i\leq n

保证所有输入数据均为正整数,范围在 int 以>内。

分割线

本人代码

#include<bits/stdc++.h>
using namespace std;

int a[100010];
int s[100010];
int main(){
    int n,m;
    cin >> n >> m;
    for(int i = 1 ; i <= n ; i ++)
        cin >> a[i];
    for(int i = 1 ; i <= n ; i ++)
        s[i] = s[i - 1] + a[i];
    /*for(int i = 1 ; i <= n ; i ++)
        cout << s[i] << ' ';
    cout << '\n';*/
    while(m --){
        int i,j,k;
        cin >> i >> j >> k;
        if(i == 1){
            for(int x = j ; x <= n ; x ++)
                s[x] += k;
        }
        else{
            cout << s[k] - s[j - 1] << '\n';
        }
    }
    return 0;
}

样例都过了,可是0分,我试着调试,可没有用


by zzhengxi @ 2024-11-16 18:59:51

@light_dream AC了,太谢谢了


by KarmaticEnding @ 2024-11-16 19:00:34

@zzhengxi

多个 \texttt{int} 相加可能会爆 \texttt{int},比如 2147483647+2147483647,两个加数都在 \texttt{int} 范围内,但是加的结果爆了 \texttt{int}


by zzhengxi @ 2024-11-16 19:03:41

@XiaoYiii @light_dream @Composite_Function 谢谢


上一页 |