Submission

Status:
PP--------------T---

Score: 10

User: mydKN

Problemset: ผลบวก (ยาก)

Language: c

Time: 0.115 second

Submitted On: 2024-10-15 10:27:53

#include<stdio.h>

#define maxn 1000010

struct var{
    int idx;
    int val;
};

typedef struct var var;

int n;
int arr[maxn];
int q, t;
int cnt;
var clc[20010];

int main(){
    scanf("%d", &n);
    for(int i=1;i<=n;++i){
        scanf("%d", &arr[i]);
        arr[i] += arr[i-1];
    }
    scanf("%d", &q);
    for(int i=0;i<q;++i){
        scanf("%d", &t);
        for(int j=0;j<t;++j){
            int idx, val;
            scanf("%d %d", &idx, &val);
            clc[cnt].idx = idx;
            clc[cnt].val = val-(arr[idx+1]-arr[idx]);
            ++cnt;
        }
        int x, y;
        scanf("%d %d", &x, &y);
        int sum = arr[y+1]-arr[x];
        // printf("sum : %d\n", sum);
        for(int j=0;j<cnt;++j){
            if(clc[j].idx >= x && clc[j].idx <= y){
                sum += clc[j].val;
            }
        }
        printf("%d\n", sum);
    }
    // for(int i=0;i<=n;++i) printf("%d ", arr[i]);
}