The Puzzle Game

Link

Đề bài

Hồi nhỏ, Quy có 1 bộ xếp hình lego. Bộ gồm có nhiều mảnh, mỗi mảnh có chiều cao là 1 và có chiều dài cố định. Một mảnh có thể được ghép trên mảnh khác nếu như chúng có độ dài bằng nhau.

Quy muốn xây số ít nhất các tòa tháp từ tất cả các mảnh của bộ xếp hình. Bạn hãy giúp anh ý.

Input
Dòng 1 là số N (1 ≤ N ≤ 1000) số mảnh trong bộ xếp hình lego. Dòng 2 là N số nguyên dương, phân cách bởi dấu cách, chiều dài của các mảnh.

Output
Hai số, chiều cao của tháp cao nhất và tổng số tháp.

Resource limits
Execution time: 5 seconds

Memory: 256.00 MB

Đáp án

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

import sys

input_str = ""
number_of_line = 0
for line in sys.stdin:
number_of_line += 1
if number_of_line == 2:
arr = [int(i) for i in line.split()]
c = {}
max_high = 0
for i in arr:
if i in c:
c[i] += 1
else:
c[i] = 1
if c[i] > max_high:
max_high = c[i]
print(f'{max_high} {len(c)}')