In this HackerEarth Square Transaction problem solution, Square Inc. processes thousands of transactions daily amounting to millions of dollars. They also have a daily target that they must achieve. Given a list of transactions done by Square Inc. and a daily target your task is to determine at which transaction does Square achieves the same.


HackerEarth Square Transaction problem solution


HackerEarth Square Transaction problem solution.

#include <bits/stdc++.h>
using namespace std;

int binary_search(int a[],int x,int lo,int hi){
if(x>a[hi]) return -1;
int trans_no=0;
while(hi>=lo){
int mid=lo+(hi-lo)/2;
if(a[mid]>=x) {
trans_no=mid; hi=mid-1;
}
else lo=mid+1;
}
return trans_no;
}

int main()
{
int n; cin>>n; int a[n+11];
a[0]=0;
for(int i=1;i<=n;i++) {
cin>>a[i];
a[i]+=a[i-1];
}
int q; cin>>q;
while(q--){
int x; cin>>x;
cout<<binary_search(a,x,1,n)<<"\n";
}
//cout << "Hello World!" << endl;
return 0;
}