greedy implementation math

Please click on ads to support us..

Python Code:

from typing import List

class Solution:

    def compute(self, a: List[int], n: int, k: int) -> int:

        front = (k + 1) // 2
        back = (k // 2)
        for i in range(n):
            if (a[i] <= front):
                front -= a[i]
                a[i] = 0
            else:
                a[i] -= front
                break

        for i in range(n - 1, -1, -1):
            if (a[i] <= back):
                back -= a[i]
                a[i] = 0
            else:
                a[i] -= back
                break

        return a.count(0)


if __name__ == '__main__':
    cl = input()
    sln = Solution()

    for i in range(int(cl)):
        cl1 = input()
        a1 = cl1.split(' ')

        cl2 = input()
        a2 = cl2.split(' ')
        print(sln.compute([int(p) for p in a2], int(a1[0]), int(a1[1])))


Comments

Submit
0 Comments
More Questions

Anagrams
Prime Number
Lexical Sorting Reloaded
1514A - Perfectly Imperfect Array
580A- Kefa and First Steps
1472B- Fair Division
996A - Hit the Lottery
MSNSADM1 Football
MATCHES Playing with Matches
HRDSEQ Hard Sequence
DRCHEF Doctor Chef
559. Maximum Depth of N-ary Tree
821. Shortest Distance to a Character
1441. Build an Array With Stack Operations
1356. Sort Integers by The Number of 1 Bits
922. Sort Array By Parity II
344. Reverse String
1047. Remove All Adjacent Duplicates In String
977. Squares of a Sorted Array
852. Peak Index in a Mountain Array
461. Hamming Distance
1748. Sum of Unique Elements
897. Increasing Order Search Tree
905. Sort Array By Parity
1351. Count Negative Numbers in a Sorted Matrix
617. Merge Two Binary Trees
1450. Number of Students Doing Homework at a Given Time
700. Search in a Binary Search Tree
590. N-ary Tree Postorder Traversal
589. N-ary Tree Preorder Traversal