fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. const int Mod=998244353;
  5.  
  6. void solve() {
  7. ll n;
  8. cin >> n;
  9. vector<ll> v(n),pref(n,0);
  10. ll sum=0;
  11. for(int i=0;i<n;i++){
  12. cin >> v[i];
  13. sum+=v[i];
  14. pref[i]=sum;
  15. }
  16. sort(v.begin(),v.end());
  17. vector<ll> pref2(n,0);
  18. pref2[0]=v[0];
  19. for(int i=1;i<n;i++){
  20. pref2[i]=pref2[i-1]+v[i];
  21. }
  22. int m;
  23. cin >> m;
  24. for(int i=0;i<m;i++){
  25. int type,l,r;
  26. cin >> type >> l >> r;
  27. if(type==1)
  28. if(l==1) cout << pref[r-1] << '\n';
  29. else cout << pref[r-1]-pref[l-2] << '\n';
  30. else
  31. if(l==1) cout << pref2[r-1] << '\n';
  32. else cout << pref2[r-1]-pref2[l-2] << '\n';
  33. }
  34. }
  35.  
  36. int main(){
  37. ios::sync_with_stdio(false);
  38. cin.tie(nullptr);
  39.  
  40. /*int t;
  41.   cin >> t;
  42.   while (t--)*/ solve();
  43.  
  44.  
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0.01s 5304KB
stdin
4
5 5 2 3
10
1 2 4
2 1 4
1 1 1
2 1 4
2 1 2
1 1 1
1 3 3
1 1 3
1 4 4
1 2 2
stdout
10
15
5
15
5
5
2
12
3
5