online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
#include<bits/stdc++.h> using namespace std; void tree_build(int node, int start, int end, int ar[], int st[]){ if(start == end){ st[node] = ar[start]; } else{ int mid = (end+start) /2; tree_build(2*node+1,start,mid,ar,st); tree_build(2*node+2,mid + 1,end,ar,st); st[node] = min(st[2*node+1],st[2*node + 2]); } } int tree_query(int node, int left, int right, int st[], int start, int end) { if (right < start || left > end) { return (INT32_MAX); } if (left <= start && right >= end) { return st[node]; } int mid = (end + start) / 2; int temp1 = tree_query(2 * node + 1, left, right, st, start, mid); int temp2 = tree_query(2 * node + 2, left, right, st, mid + 1, end); int ans = min(temp1, temp2); return ans; } void update_tree(int node, int start, int end, int index, int val, int st[],int ar[]){ if(start == end){ ar[index] = val; st[node] = val; } else{ int mid = (end + start )/2; if(start <= index && index <= mid){ update_tree(2*node + 1, start, mid, index,val,st, ar); } else{ update_tree(2*node+2,mid+1,end,index,val,st,ar); } st[node] = min(st[2*node+1], st[2*node+2]); } } int main(){ int n,q; cin>>n>>q; int ar[n]; for(int i=0;i<n;i++){ cin>>ar[i]; } int segmentTree[2*n - 1]; tree_build(0,0,n-1,ar,segmentTree); while(q--){ char x; int y,z; cin>>x>>y>>z; if(x == 'q'){ cout<<tree_query(0,y-1,z-1,segmentTree,0,n-1)<<endl; } else{ update_tree(0,0,n-1,y-1,z,segmentTree,ar); } } return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue