#对数据进行处理 n,q=map(int,list(input().split())) lis=list(map(int,input().split())) #创建一个dp数组,用于存放每个位置下从索引0到当前索引下的和 dp=[0]*n for i in range(n): if i==0: dp[i]=lis[i] else: dp[i]=lis[i]+dp[i-1] #遍历取出l,r的值,若l-2小于0,代表l=1,故而他们的和就是dp[r-1] for _ in range(q): l,r=list(map(int,input().split())) if l-2<0: res=dp[r-1] else: #否则,它们的和为dp[r-1]和dp[l-1]前一位也就是dp[l-2]的差值 res=dp[r-1]-dp[l-2] print(res)