HH:MM
の形式で出力して下さい。HH
は24時間制での時間、MM
は分を表す)# 入力
K = int(input())
if K < 10: # 0分~9分
print("21:0" + str(K))
elif K < 60: # 10分~59分
print("21:" + str(K))
elif K < 70: # 60分~69分
print("22:0" + str(K - 60))
else: # 70~分
print("22:" + str(K - 60))
# 入力
N = int(input())
L = []
# 1桁ずつ分けるのが面倒だったので、今回は文字列のままの取り扱い
for i in range(N):
L.append(input())
# ありえるパターンを全部突っ込んで、最終的にソートすればいいかなスタイル
ans_L = []
# 二重ループで始点全探索!
for i in range(N):
for j in range(N):
# 移動パラメータ1
for dx in [-1, 0, 1]:
# 移動パラメータ2
for dy in [-1, 0, 1]:
# 移動パラメータ1と移動パラメータがともに0=移動しない足踏みパターンは無し!
if dx == dy == 0:
continue
tmp = []
# 1歩ずつ歩くよ
# 盤面出ちゃったら反対から出てくる挙動を、Nで割った余りで表現
for k in range(N):
tmp.append(L[(i + (dx * k)) % N][(j + (dy * k)) % N])
# 文字列として結合してあげて…
ans_L.append(''.join(tmp))
# ソートして、一番大きい=一番後ろにあるもの!
ans_L.sort()
print(ans_L[-1])
1 x
:「の末尾の文字を削除し、先頭に挿入」を回連続で行う2 x
:の番目の文字を出力する2 x
の形式のクエリが1個以上与えられる1 2
を行った後の2 1
は、# 入力
N, Q = map(int, input().split())
S = input()
# 先頭の位置
top_idx = 0
# クエリ処理
for i in range(Q):
# クエリ入力
query_type, x = map(int, input().split())
#
if query_type == 1:
top_idx += x
else:
top_idx %= N
output_idx = (x - 1) - top_idx
print(S[output_idx])
# 入力
N, X = map(int, input().split())
L = []
accum_L = []
for i in range(N):
A, B = map(int, input().split())
L.append([A + B, B])
# 累積和もここで一緒に作っちゃう
if i == 0:
accum_L.append(A + B)
else:
accum_L.append(accum_L[-1] + A + B)
# 答えの上限。10^18じゃ足りない点に注意
ans = 10 ** 20
# 何ステージ目を周回プレイするか全探索!
for i in range(N):
# 周回プレイする回数
loop_cnt = X - (i + 1)
# もしこのステージ以降で周回プレイできない=ステージ数に対してXが小さい場合はそこで打ち切ってOK
if loop_cnt <= 0:
break
# iステージを周回プレイする場合に必要な時間=(i-1)までの初回クリアに掛かる時間+周回プレイする分の時間
tmp_ans = accum_L[i] + L[i][1] * loop_cnt
# 小さいなら更新して
ans = min(ans, tmp_ans)
# 出力!
print(ans)
# 入力
N, Q, X = map(int, input().split())
W_L = list(map(int, input().split()))
# W_iを全部合わせたもの(じゃがいも1サイクルの合計重さ)
S = sum(W_L)
rd = X // S # Xが大きすぎた場合に、何周セットで箱詰めするのが確定する?
rem = X % S # Xが大きすぎた場合に、セットで足りない分の計算
# しゃくとり法のイメージで、「i番目のじゃがいもを最初に箱に入れた時、その箱にじゃがいもが何個入る?」を前計算
a = [0] * N
na = rd * N
for i in range(N):
while rem >= 1:
rem -= W_L[(i + na) % N]
na += 1
a[i] = na
rem += W_L[i]
na -= 1
# ダブリング前計算部分
D_num = 41
d = [[0 for i in range(N)] for j in range(D_num)]
for i in range(N):
d[0][i] = (i + a[i]) % N
# ダブリング部分
for i in range(D_num - 1):
for j in range(N):
d[i + 1][j] = d[i][d[i][j]]
# クエリ処理部分
for i in range(Q):
k = int(input())
k -= 1
si = 0
for i in range(D_num - 1, -1, -1):
if (k >> i) & 1:
si = d[i][si]
print(a[si])