fork download
  1. #include <bits/stdc++.h>
  2. #define FNAME ""
  3. using namespace std;
  4. typedef long long ll;
  5. const int MAXN = 1e6 + 1;
  6.  
  7. void fastip() {
  8. ios_base::sync_with_stdio(0);
  9. cin.tie(0); cout.tie(0);
  10. if (fopen(FNAME".inp", "r")) {
  11. freopen(FNAME".inp", "r", stdin);
  12. freopen(FNAME".out", "w", stdout);
  13. }
  14. }
  15.  
  16. int n, q;
  17. vector<long long> a(MAXN, 0);
  18. vector<long long> Prefix(MAXN, 0);
  19. vector<long long> Total_prefix(MAXN, 0);
  20.  
  21. signed main(){
  22. fastip();
  23.  
  24. cin >> n >> q;
  25.  
  26. for(int i = 1; i <= n ; i++){
  27. cin >> a[i];
  28. }
  29.  
  30. Prefix[1] = a[1];
  31.  
  32. for(int i = 2; i <= n ; i++){
  33. Prefix[i] = Prefix[i - 1] + a[i];
  34. }
  35.  
  36. for(int i = 1; i <= n ; i++){
  37. Total_prefix[i] = Total_prefix[i - 1] + (1ll * a[i] * Prefix[i]);
  38. }
  39.  
  40. while(q--){
  41. int u, v;
  42. cin >> u >> v;
  43. cout << Prefix[v] * (Prefix[v - 1] - Prefix[u - 1]) - (Total_prefix[v - 1] - Total_prefix[u - 1]) << '\n';
  44. }
  45.  
  46. return 0;
  47. }
  48.  
Success #stdin #stdout 0.01s 26544KB
stdin
Standard input is empty
stdout
Standard output is empty