Soluție HackerRank pentru Filling Jars, subdomeniul Fundamentals, în Python 3. Include cerința formatată, exemple, explicația pașilor și cod sursă.

  • Problemă: Filling Jars
  • Domeniu: Fundamentals
  • Limbaj: Python 3

Challenge: Filling Jars

Subdomeniu: Fundamentals (fundamentals)

Scor cont: 20.0 / 20

Submission status: Accepted

Submission score: 1.0

Submission ID: 464720885

Limbaj: python3

Link challenge: https://www.hackerrank.com/challenges/filling-jars/problem

Cerință

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 between a and b (both inclusive).
Can you tell the average number of candies after m operations?

Example

n = 5
operations = [[1, 2, 10], [3, 5, 10]]

The array has 5 elements that all start at 0. In the first operation, add 10 to the first 2 elements. Now the array is [10, 10, 0, 0, 0]. In the second operation, add 10 to the last 3 elements (3 - 5). Now the array is [10, 10, 10, 10, 10] and the average is 10. Sincd 10 is already an integer value, it does not need to be rounded.

Function Description

Complete the *solve* function in the editor below.

*solve* has the following parameters:

- *int n:* the number of candy jars
- *int operations[m][3]:* a 2-dimensional array of operations

Returns

- *int:* the floor of the average number of canidies in all jars

Input Format

The first line contains two integers, n and m, separated by a single space.
m lines follow. Each of them contains three integers, a, b, and k, separated by spaces.

Constraints

3 ≤ n ≤ 10^7
1 ≤ m ≤ 10^5
1 ≤ a ≤ b ≤ N
0 ≤ k ≤ 10^6

Cod sursă

#!/bin/python3

import math
import os
import random
import re
import sys

def solve(n, operations):
    total_candies=0
    for i in operations:
        initial_index=i[0]
        limit_index=i[1]
        jars=(limit_index-initial_index)+1
        total_candies+=jars*i[2]
    return((total_candies//n))
if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    first_multiple_input = input().rstrip().split()

    n = int(first_multiple_input[0])

    m = int(first_multiple_input[1])

    operations = []

    for _ in range(m):
        operations.append(list(map(int, input().rstrip().split())))

    result = solve(n, operations)

    fptr.write(str(result) + '\n')

    fptr.close()
HackerRank Fundamentals – Filling Jars