HackerRank ‘Filling Jars’ Solution

H
Short Problem Definition:

Animesh has N empty candy jars, numbered from 1 to N, with infinite capacity. He performs M operations. Each operation is described by 3 integers a, b and k. Here, a and b are indices of the jars, and k is the number of candies to be added inside each jar whose index lies betweena and b (both inclusive). Can you tell the average number of candies after M operations?

Link

Filling Jars

Complexity:

time complexity is O(N);

space complexity is O(1)

Execution:

Keep a sum variable. Compute the average at the end.

Solution:
1
2
3
4
5
6
7
8
9
10
#!/usr/bin/py
if __name__ == '__main__':
    n,m = map(int, raw_input().split())
 
    answer = 0
 
    for _ in xrange(m):
        a, b, k = map(int, raw_input().split())
        answer += (abs(a-b)+1)*k
    print answer//n

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<vector>
#include<math.h>
#include<array>
using namespace std;
int main()
{
   long n,m;
   long answer=0,t;
   cin>>n>>m;
   t = m;
   while(t--){
       long a,b,k;
       cin>>a>>b>>k;
       answer = answer + (abs(a-b)+1)*k;
   }
   answer = floor(answer/n);
   cout<<answer<<endl;
   return 0;
}

About the author

Add comment

Archives

Categories