# 12138 - too many treasures
>author: Utin
###### tags: `prefix sum`
---
## Brief
Search "prefix sum"
## Solution 0
```c=
#include <stdio.h>
#include <limits.h>
int n, q, flag = INT_MAX;
long long arr[1000001];
int main() {
scanf("%d %d", &n, &q);
for (int i = 1; i <= n; i++) {
scanf("%lld", &arr[i]);
// record the index of the first negative number
if (arr[i] < 0 && flag == INT_MAX) flag = i;
// prefix sum
arr[i] += arr[i-1];
}
while (q--) {
int l, r, m, amount = 0;
scanf("%d %d %d", &l, &r, &m);
// count the amount of the treasures
if (flag > l) amount = m < flag-l ? m : flag-l;
// output
printf("%lld\n", arr[l+amount-1] - arr[l-1]);
}
}
// By Utin
```
## Reference