Untitled
unknown
c_cpp
2 years ago
1.7 kB
4
Indexable
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back #define all(v) (v).begin() , (v).end() #define nn "\n" #define ex exit(0); #define sz(s) (int)(s).size() int n ,a , b , t ; const int N = 1e6; int q[N]; ll bit , k , res , ans , cnt , sum = 0 ; ll y ; char pp[21][21]; ll lcm(ll x , ll y ){ return x/__gcd(x , y )*y; } bool check(ll x , ll w , ll h , int n ){ if(x/w>=n || x/h>=n){ return 1 ; } if(x/w*x/h>=n){ return 1; } else return 0; } const int K = 1e6; int s[100]; void build(int v , int l , int r ){ if(l==r){ s[v] = q[l]; } else { int m = (l+r)/2; build(v*2 , l , m ); build(v*2+1 , m+1 , r); s[v]= s[v*2]+s[v*2+1]; } } int get(int v , int tl , int tr , int l , int r ) { if (tl <= l && r <= tr) { return s[v]; } if (l > tr || r < tl) { return 0; } else { int m = (l + r) / 2; return get(v * 2, tl, tr, l, m) + get(v * 2 + 1, tl, tr, m + 1, r); } } int bp(int x , int l , int r ){ } int main() { //freopen("sum2.in" , "r", stdin); //freopen("sum2.out" , "w" , stdout); cin>> n >> t ; for(int i= 1 ; i <= n ; i++){ cin>> q[i]; } build(1 , 1 , n ); int c, l , r ; for(int i =0 ; i < t ; i++){ cin>> c >> l >> r; l++; if(c==1){ } else { cout << get( 1 , l , r , 1 , n )<< ' '; } } } //Life is good //aza genius machine nomer1=sigma //Azamat lox mal chort //Azamat medium
Editor is loading...