Skip to content

Instantly share code, notes, and snippets.

View pranavsuresh7's full-sized avatar

PRANAV SURESH pranavsuresh7

  • Multicorewareinc
  • Cochin
View GitHub Profile
#include <bits/stdc++.h>
using namespace std;
class node{
public:
long long maxSum,prefixSum,suffixSum,sum;
void setValue(int value){
maxSum=prefixSum=suffixSum=sum=value;
}
void specifyNode(node &left,node &right){
sum = left.sum+right.sum;
@pranavsuresh7
pranavsuresh7 / maxvalue.cpp
Created March 18, 2020 13:51
naive way for maximum value
#include<bits/stdc++.h>
using namespace std;
int maxRange(int *arr,int llimit,int hlimit){
int max_value = arr[llimit];
for(int i=llimit;i<hlimit;i++){
if(max_value<arr[i]) max_value = arr[i];
}
return max_value;
}
int main(){
@pranavsuresh7
pranavsuresh7 / segmentMax.cpp
Created March 18, 2020 12:25
Segment tree for finding maximum value between an interval in array
#include<bits/stdc++.h>
using namespace std;
void buildSegment(int *arr,int *arr_value,int node,int llimit,int hlimit){
if(llimit==hlimit){
arr_value[node-1]= arr[llimit];
return;
}else{
int mid = (llimit+hlimit)/2;
buildSegment(arr,arr_value,2*node,llimit,mid);
buildSegment(arr,arr_value,2*node+1,mid+1,hlimit);