#include<stdio.h>
int main () {
int m,n,total;
while(scanf("%d",&n) != EOF) {
scanf("%d",&m);
int s[100000] = {0};
for(int i = 1; i <= n; i++) {
scanf("%d",&s[i]);
}
int l,r;
for(int j = 0; j < m; j++) {
total = 0;
scanf("%d %d",&l,&r);
for(int k = l; k <= r; k++) {
total += s[k];
}
printf("%d\n",total);
}
}
}
滿直觀的,陣列直接從1開始,因為題目剛好只會從1~某數
total為總和
注意一點是while()裡面好像只能先輸入n,m要在while裡面輸入,才不會tle
n m寫在一起測資給我tle,分開寫就好了,不是很確定原因,知道答案的朋友可以留言讓小弟我知道~