1075B - Taxi drivers and Lyft - CodeForces Solution


implementation sortings *1200

Please click on ads to support us..

Python Code:

n, m = map(int, input().strip().split())
x = list(map(int, input().strip().split()))
taxi = list(map(int, input().strip().split()))

pos = {}
taxnum = 0
for i in range(n + m):
    if taxi[i] == 1:
        pos[taxnum] = i
        taxnum += 1

ans = [0 for i in range(m)]

curr = 0
i = 0
while taxi[i] == 0:
    ans[curr] += 1
    i += 1
    if i >= n + m: break

for j in range(i, n + m):
    if taxi[j] == 1:
        curr += int(j != i)
        continue

    if curr + 1 < len(pos):
        if x[pos[curr + 1]] - x[j] < x[j] - x[pos[curr]]:
            ans[curr + 1] += 1
        else:
            ans[curr] += 1
    else:
        ans[curr] += 1

print(*ans)


Comments

Submit
0 Comments
More Questions

415. Add Strings
22. Generate Parentheses
13. Roman to Integer
2. Add Two Numbers
515. Find Largest Value in Each Tree Row
345. Reverse Vowels of a String
628. Maximum Product of Three Numbers
1526A - Mean Inequality
1526B - I Hate 1111
1881. Maximum Value after Insertion
237. Delete Node in a Linked List
27. Remove Element
39. Combination Sum
378. Kth Smallest Element in a Sorted Matrix
162. Find Peak Element
1529A - Eshag Loves Big Arrays
19. Remove Nth Node From End of List
925. Long Pressed Name
1051. Height Checker
695. Max Area of Island
402. Remove K Digits
97. Interleaving String
543. Diameter of Binary Tree
124. Binary Tree Maximum Path Sum
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts
501A - Contest
160A- Twins
752. Open the Lock
1535A - Fair Playoff
1538F - Interesting Function