Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main()
- { //這題難在會超時,所以必須找到比較快的方芳
- int n, m;
- while(cin >> n >> m)
- {
- int food[n], sum[n], range[m][2], energy[m];
- for(int i = 0; i < n; i++) //enter energy of food
- cin >> food[i];
- for(int i = 0; i < n; i++) //計算 a1 ~ a"i" 的總和
- {
- sum[i] = 0;
- for(int j = 0; j <= i; j++)
- sum[i] += food[j];
- }
- for(int i = 0; i < m; i++) //enter range(start->[0] & end->[1])
- cin >> range[i][0] >> range[i][1];
- for(int i = 0; i < m; i++) //將 範圍的數字 對應 它在陣列的數字(e.g. 2->1, 5->4)
- {
- range[i][0] -= 1; range[i][1] -= 1;
- }
- for(int i = 0; i < m; i++)//原理 if->[a1~5 = a5] else->[a2~5 = a5 - a1]
- {
- if(range[i][0]-1 < 0)
- energy[i] = sum[ range[i][1] ];
- else
- energy[i] = sum[ range[i][1] ] - sum[ range[i][0]-1 ];
- }
- for(int i = 0; i < m; i++)
- cout << energy[i] <<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement