Submission #20133410
Source Code Expand
import sys
import numpy as np
read = sys.stdin.buffer.read
readline = sys.stdin.buffer.readline
readlines = sys.stdin.buffer.readlines
def from_read(dtype=np.int64):
return np.fromstring(read().decode(), dtype=dtype, sep=' ')
def from_readline(dtype=np.int64):
return np.fromstring(readline().decode(), dtype=dtype, sep=' ')
def output(ANS):
print(len(ANS))
for i in ANS:
print(i + 1)
def check(A, ANS):
A = A.copy()
for i in ANS:
A[:i] = A[:i][::-1]
A[i + 1:] = A[i + 1:][::-1]
for i in range(len(A)):
assert A[i] == i
def attempt(A, t):
N = len(A)
A = A.copy()
ANS = []
def ope(i):
ANS.append(i)
A[:i] = A[:i][::-1]
A[i + 1:] = A[i + 1:][::-1]
for _ in range(9900 - 2 * N - t):
i = np.random.randint(0, N)
ope(i)
i = np.where(A == 0)[0][0]
if i != N - 1:
ope(i + 1)
L, R = 1, 0
else:
L, R = 0, 1
while L < N and R < N:
if L > 0:
# 左に、L-1, ..., 1, 0 というのができている
k = np.where(A == L)[0][0]
if k < N - 1:
ope(k)
ope(k + 1)
L += 1
else:
ope(k)
L, R = 0, L + 1
elif R > 0:
# 右に、0,1,...,R-1 というのができている
k = np.where(A == R)[0][0]
if k > 0:
ope(k)
ope(k - 1)
R += 1
else:
ope(0)
L, R = R + 1, 0
if R == N:
return True, ANS
else:
return False, ANS
def main(A):
N = len(A)
A = A - 1
for t in range(10):
ok, ANS = attempt(A, t)
if ok:
check(A, ANS)
output(ANS)
return
print(-1)
A = from_read()[1:]
main(A)
Submission Info
| Submission Time | |
|---|---|
| Task | I - ツインリバース |
| User | maspy |
| Language | Python (3.8.2) |
| Score | 100 |
| Code Size | 1974 Byte |
| Status | AC |
| Exec Time | 744 ms |
| Memory | 28008 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 100 / 100 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample_01.txt | AC | 280 ms | 27392 KiB |
| sample_02.txt | AC | 534 ms | 27344 KiB |
| sample_03.txt | AC | 217 ms | 27428 KiB |
| test_01.txt | AC | 158 ms | 27208 KiB |
| test_02.txt | AC | 167 ms | 27384 KiB |
| test_03.txt | AC | 527 ms | 27224 KiB |
| test_04.txt | AC | 215 ms | 27160 KiB |
| test_05.txt | AC | 306 ms | 27376 KiB |
| test_06.txt | AC | 214 ms | 27420 KiB |
| test_07.txt | AC | 342 ms | 27576 KiB |
| test_08.txt | AC | 173 ms | 27456 KiB |
| test_09.txt | AC | 214 ms | 27400 KiB |
| test_10.txt | AC | 171 ms | 27148 KiB |
| test_11.txt | AC | 174 ms | 27300 KiB |
| test_12.txt | AC | 221 ms | 27268 KiB |
| test_13.txt | AC | 219 ms | 27368 KiB |
| test_14.txt | AC | 219 ms | 27456 KiB |
| test_15.txt | AC | 279 ms | 28000 KiB |
| test_16.txt | AC | 335 ms | 27832 KiB |
| test_17.txt | AC | 217 ms | 27580 KiB |
| test_18.txt | AC | 215 ms | 27764 KiB |
| test_19.txt | AC | 725 ms | 27916 KiB |
| test_20.txt | AC | 730 ms | 27824 KiB |
| test_21.txt | AC | 744 ms | 27932 KiB |
| test_22.txt | AC | 279 ms | 27584 KiB |
| test_23.txt | AC | 340 ms | 27804 KiB |
| test_24.txt | AC | 278 ms | 28008 KiB |
| test_25.txt | AC | 214 ms | 27672 KiB |
| test_26.txt | AC | 220 ms | 27588 KiB |
| test_27.txt | AC | 216 ms | 27616 KiB |
| test_28.txt | AC | 284 ms | 27820 KiB |
| test_29.txt | AC | 278 ms | 27828 KiB |
| test_30.txt | AC | 345 ms | 27796 KiB |
| test_31.txt | AC | 281 ms | 27916 KiB |
| test_32.txt | AC | 217 ms | 27544 KiB |
| test_33.txt | AC | 729 ms | 27600 KiB |
| test_34.txt | AC | 218 ms | 27544 KiB |
| test_35.txt | AC | 219 ms | 27500 KiB |
| test_36.txt | AC | 215 ms | 27760 KiB |
| test_37.txt | AC | 280 ms | 27688 KiB |
| test_38.txt | AC | 280 ms | 27812 KiB |
| test_39.txt | AC | 218 ms | 27532 KiB |
| test_40.txt | AC | 219 ms | 27752 KiB |
| test_41.txt | AC | 731 ms | 27588 KiB |
| test_42.txt | AC | 219 ms | 27396 KiB |
| test_43.txt | AC | 221 ms | 27356 KiB |
| test_44.txt | AC | 219 ms | 27584 KiB |
| test_45.txt | AC | 277 ms | 27828 KiB |