結果
| 問題 |
No.2344 (l+r)^2
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-06-10 00:42:04 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,530 bytes |
| コンパイル時間 | 565 ms |
| コンパイル使用メモリ | 82,580 KB |
| 実行使用メモリ | 107,584 KB |
| 最終ジャッジ日時 | 2025-01-02 07:18:44 |
| 合計ジャッジ時間 | 2,765 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 2 WA * 10 |
ソースコード
import sys
from itertools import permutations
input = lambda :sys.stdin.readline().rstrip()
mi = lambda :map(int,input().split())
li = lambda :list(mi())
import random
def cmb(n, r, mod):
if ( r<0 or r>n ):
return 0
return (g1[n] * g2[r] % mod) * g2[n-r] % mod
mod = 998244353
N = 2*10**5
g1 = [1]*(N+1)
g2 = [1]*(N+1)
inverse = [1]*(N+1)
for i in range( 2, N + 1 ):
g1[i]=( ( g1[i-1] * i ) % mod )
inverse[i]=( ( -inverse[mod % i] * (mod//i) ) % mod )
g2[i]=( (g2[i-1] * inverse[i]) % mod )
inverse[0]=0
def brute(N,M,A):
tmp = [-1] * N
def dfs(i):
if i == N:
for j in range(N):
s,b = 0,0
for k in range(N):
if tmp[k] < tmp[j]:
s+= 1
elif tmp[j] < tmp[k]:
b += 1
if max(s,b)!=A[j]:
return 0
#print(tmp)
return 1
res = 0
for a in range(1,M+1):
tmp[i] = a
res += dfs(i+1)
tmp[i] = -1
return res
return dfs(0)
def solve_brute(N,M,A):
mask = 2**M-1
while len(A)!=1:
A = [((A[i]+A[i+1])**2) & mask for i in range(len(A)-1)]
return A[0]
for _ in range(int(input())):
N,M = mi()
A = li()
if N <= 2*M+10:
print(solve_brute(N,M,A))
continue
res = 0
for i in range(N):
if A[i] & 1 and (N-1) & i == 1:
res ^= 1
print(res)