Submission #8000705


Source Code Expand

N = int(input())
A = [int(i) for i in input().split()]
mod = 10**9+7
#並びが可能なら、2**(N//2)
#無理なら0
opt = {}
for i in range(N):
  a = abs((N-i-1)-i)
  if a not in opt :
    opt[a] = 1
  else :
    opt[a] += 1 
for i in range(N):
  if A[i] not in opt or opt[A[i]] == 0 :
    print(0)
    exit()
  else:
    opt[A[i]] -= 1 
ans = (2**(N//2))%mod
print(ans)

Submission Info

Submission Time
Task C - Lining Up
User minase_1224
Language Python (3.4.3)
Score 300
Code Size 392 Byte
Status AC
Exec Time 137 ms
Memory 14688 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 14
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_invalid_01.txt, subtask_1_invalid_02.txt, subtask_1_max_01.txt, subtask_1_max_02.txt, subtask_1_max_valid_01.txt, subtask_1_max_valid_02.txt, subtask_1_min_valid_01.txt, subtask_1_rand_01.txt, subtask_1_rand_02.txt, subtask_1_valid_01.txt, subtask_1_valid_02.txt
Case Name Status Exec Time Memory
sample_01.txt AC 17 ms 3064 KB
sample_02.txt AC 17 ms 3064 KB
sample_03.txt AC 17 ms 3064 KB
subtask_1_invalid_01.txt AC 116 ms 12172 KB
subtask_1_invalid_02.txt AC 33 ms 4852 KB
subtask_1_max_01.txt AC 84 ms 13880 KB
subtask_1_max_02.txt AC 84 ms 14680 KB
subtask_1_max_valid_01.txt AC 137 ms 14688 KB
subtask_1_max_valid_02.txt AC 126 ms 13880 KB
subtask_1_min_valid_01.txt AC 17 ms 3064 KB
subtask_1_rand_01.txt AC 58 ms 9996 KB
subtask_1_rand_02.txt AC 78 ms 13344 KB
subtask_1_valid_01.txt AC 80 ms 8984 KB
subtask_1_valid_02.txt AC 39 ms 5360 KB