牛客小白月賽5 I 區間

2022-08-31 21:06:14 字數 1535 閱讀 7102

看到乙份不錯的操作。。。。。

apojacsleam喜歡陣列。

他現在有乙個n個元素的陣列a,而他要對a[l]-a[r]進行m次操作:

操作一:將a[l]-a[r]內的元素都加上p

操作二:將a[l]-a[r]內的元素都減去p

最後詢問a[l]-a[r]內的元素之和?

請認真看題乾及輸入描述。

輸入共m+3行:

第一行兩個數,n,m,意義如「題目描述」

第二行n個數,描述陣列。

第3-m+2行,共m行,每行四個數,q,l,r,p,若q為1則表示執行操作2,否則為執行操作1

第4行,兩個正整數l,r

乙個正整數,為a[l]-a[r]內的元素之和
示例1複製

10 5

1 2 3 4 5 6 7 8 9 10

1 1 5 5

1 2 3 6

0 2 5 5

0 2 5 8

1 4 9 6

2 7

複製

23

1 #include 2 #include 3 #include 

4 #include 5 #include 6 #include 7 #include 8 #include

9 #include 10 #include 11 #include 12 #include 13 #include 14

15using

namespace

std;

1617 typedef long

long

ll;18

const

int inf = 0x3f3f3f3f;19

const

int maxn = 1000005;20

const

int mod = 1e9 + 7;21

22#define memi(x) memset(x, -1, sizeof(x))

23#define mem0(x) memset(x, 0, sizeof(x))

24#define memm(x) memset(x, 0x3f, sizeof(x))

25int

a[maxn];

26int

main()

2746

for(int i = 2;i <= n;++i)

47 a[i] = a[i] + a[i - 1

];48

intx, y;

49 ll ans = 0

;50 scanf("

%d%d

", &x, &y);

51for(int i = x;i <= y;++i)

52 ans +=a[i];

53 printf("

%lld\n

", ans);

54return0;

55 }

牛客小白月賽5 I 區間

apojacsleam喜歡陣列。他現在有乙個n個元素的陣列a,而他要對a l a r 進行m次操作 操作一 將a l a r 內的元素都加上p 操作二 將a l a r 內的元素都減去p 最後詢問a l a r 內的元素之和?請認真看題乾及輸入描述。輸入共m 3行 第一行兩個數,n,m,意義如 題目...

牛客網小白月賽5 I 區間

apojacsleam喜歡陣列。他現在有乙個n個元素的陣列a,而他要對a l a r 進行m次操作 操作一 將a l a r 內的元素都加上p 操作二 將a l a r 內的元素都減去p 最後詢問a l a r 內的元素之和?請認真看題乾及輸入描述。輸入共m 3行 第一行兩個數,n,m,意義如 題目...

區間 interval 牛客小白月賽5

apojacsleam喜歡陣列。他現在有乙個n個元素的陣列a,而他要對a l a r 進行m次操作 操作一 將a l a r 內的元素都加上p 操作二 將a l a r 內的元素都減去p 最後詢問a l a r 內的元素之和?請認真看題乾及輸入描述。輸入共m 3行 第一行兩個數,n,m,意義如 題目...