Advertisement
Guest User

Untitled

a guest
May 21st, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.16 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {   //這題難在會超時,所以必須找到比較快的方芳
  7.     int n, m;
  8.     while(cin >> n >> m)
  9.     {
  10.         int food[n], sum[n], range[m][2], energy[m];
  11.  
  12.         for(int i = 0; i < n; i++) //enter energy of food
  13.             cin >> food[i];
  14.  
  15.         for(int i = 0; i < n; i++) //計算 a1 ~ a"i" 的總和
  16.         {
  17.             sum[i] = 0;
  18.             for(int j = 0; j <= i; j++)
  19.                 sum[i] += food[j];
  20.         }
  21.  
  22.         for(int i = 0; i < m; i++) //enter range(start->[0] & end->[1])
  23.             cin >> range[i][0] >> range[i][1];
  24.  
  25.         for(int i = 0; i < m; i++) //將 範圍的數字 對應 它在陣列的數字(e.g. 2->1, 5->4)
  26.         {
  27.             range[i][0] -= 1; range[i][1] -= 1;
  28.         }
  29.  
  30.         for(int i = 0; i < m; i++)//原理 if->[a1~5 = a5]  else->[a2~5 = a5 - a1]
  31.         {
  32.             if(range[i][0]-1 < 0)
  33.                 energy[i] = sum[ range[i][1] ];
  34.  
  35.             else
  36.                 energy[i] = sum[ range[i][1] ] - sum[ range[i][0]-1 ];
  37.         }
  38.  
  39.  
  40.  
  41.         for(int i = 0; i < m; i++)
  42.             cout << energy[i] <<endl;
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement