aloha greedy2

This commit is contained in:
2024-03-12 14:24:37 +09:00
parent 33214d1736
commit 19b37b6610
4 changed files with 82 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
def solve(N, H):
lasts = []
for i, h in enumerate(H):
for j, l in enumerate(lasts):
if h == l - 1:
lasts[j] -= 1
break
else:
lasts.append(h)
return len(lasts)
if __name__ == '__main__':
N = int(input())
H = list(map(int, input().split()))
print(solve(N, H))

View File

@@ -0,0 +1,13 @@
def solve(N, H):
arrow = [0] * 1000001
for h in H:
if arrow[h]:
arrow[h] -= 1
arrow[h - 1] += 1
return sum(arrow)
if __name__ == '__main__':
N = int(input())
H = list(map(int, input().split()))
print(solve(N, H))

View File

@@ -0,0 +1,16 @@
def solve(N: int, W: list):
V = {}
for w in W:
for i, a in enumerate(w[::-1]):
if a not in V:
V[a] = 0
V[a] += 10 ** i
S = list(sorted(V.items(), key=lambda x: x[1], reverse=True))
return sum([(9 - i) * S[i][1] for i in range(len(S))])
if __name__ == '__main__':
N = int(input())
W = [input() for _ in range(N)]
print(solve(N, W))