diff --git a/zeta_python/1463.py b/zeta_python/1463.py deleted file mode 100644 index c7d157e..0000000 --- a/zeta_python/1463.py +++ /dev/null @@ -1,32 +0,0 @@ -M = {1:0, 2:1, 3:1, 10:3} -def ndp(n): - global M - stack = [] - if n in M: - return M[n] - if n % 3 == 0: - stack.append((n, n//3)) - if n %2 == 0: - stack.append((n, n//2)) - stack.append((n, n-1)) - while stack: - node = stack[-1] - if node[1] in M: - if node[0] in M: - if M[node[1]] + 1 < M[node[0]]: - M[node[0]] = M[node[1]] + 1 - else: - M[node[0]] = M[node[1]] + 1 - stack.pop() - continue - if node[1] == 1: - M[node[0]] = 1 - stack.pop() - continue - if node[1] % 3 == 0: - stack.append((node[1], node[1]//3)) - if node[1] % 2 == 0: - stack.append((node[1], node[1]//2)) - stack.append((node[1], node[1] - 1)) - return M[n] -print(ndp(int(input()))) \ No newline at end of file diff --git a/zeta_python/completed/11053.py b/zeta_python/completed/11053.py new file mode 100644 index 0000000..4892123 --- /dev/null +++ b/zeta_python/completed/11053.py @@ -0,0 +1,15 @@ +N = int(input()) +A = list(map(int, input().split())) + +T = [0 for _ in range(N)] +T[0] = 1 + +for i in range(1, N): + t = [] + for j in range(i): + if A[j] < A[i]: + t.append(T[j] + 1) + else: + t.append(1) + T[i] = max(t) +print(max(T)) diff --git a/zeta_python/completed/1463.py b/zeta_python/completed/1463.py new file mode 100644 index 0000000..e055684 --- /dev/null +++ b/zeta_python/completed/1463.py @@ -0,0 +1,15 @@ +N = int(input()) + +T = [0, ] + +for i in range(1, N): + new = i + 1 + t = [] + if new % 3 == 0: + t.append(T[new // 3 - 1] + 1) + if new % 2 == 0: + t.append(T[new // 2 - 1] + 1) + t.append(T[new - 1 - 1] + 1) + T.append(min(t)) + +print(T[-1]) diff --git a/zeta_python/completed/1931.py b/zeta_python/completed/1931.py new file mode 100644 index 0000000..543f097 --- /dev/null +++ b/zeta_python/completed/1931.py @@ -0,0 +1,13 @@ +N = int(input()) +I = [tuple(map(int, input().split())) for _ in range(N)] + +I.sort(key=lambda x: (x[1], x[0])) + +last = 0 +cnt = 0 +for i in range(N): + if last <= I[i][0]: + last = I[i][1] + cnt += 1 + +print(cnt) diff --git a/zeta_python/completed/2156.py b/zeta_python/completed/2156.py new file mode 100644 index 0000000..3d43431 --- /dev/null +++ b/zeta_python/completed/2156.py @@ -0,0 +1,15 @@ +N = int(input()) +I = [int(input()) for i in range(N)] + +T = [[0 for _ in range(3)] for _ in range(N)] + +T[0][0] = 0 +T[0][1] = I[0] +T[0][2] = 0 + +for i in range(1, N): + T[i][0] = max((T[i-1][0], T[i - 1][1], T[i - 1][2])) + T[i][1] = T[i - 1][0] + I[i] + T[i][2] = T[i - 1][1] + I[i] + +print(max(T[-1]))