提出 #20093906


ソースコード 拡げる

#!/usr/local/bin/pypy3
import sys
readline = sys.stdin.buffer.readline
import math

n,m=map(int,readline().split())

def getvalue():
	a=list(map(int,readline().split()))
	w=1
	res=0
	for i in range(1,n+1):
		res+=w*a[i-1]
		w*=2*i
	return res

cur=getvalue()

s=1
for i in range(1,n+1):
	s*=2*i
s

g=s-1
for _ in range(m):
	g=math.gcd(g,getvalue())

cur%=g

ans=10**9

if g<=(s-1)//g:
	dist=[-1]*g
	q=[]
	def reach(i,d):
		if dist[i]==-1:
			dist[i]=d
			q.append(i)
	
	w=[]
	tmp=1
	for i in range(1,n+1):
		w.append(tmp)
		reach(tmp%g,1)
		tmp*=2*i
	
	head=0
	while head<len(q):
		v=q[head]
		head+=1
		for i in range(1,n+1):
			reach((v+w[i-1])%g,dist[v]+1)
	
	ans=dist[cur]
else:
	if cur==0:
		cur=g
	for val in range(cur,s,g):
		tot=0
		for i in range(1,n+1):
			tot+=val%(2*i)
			val//=(2*i)
		assert(val==0)
		ans=min(ans,tot)

print(ans)

提出情報

提出日時
問題 F - Die Siedler
ユーザ maroonrk_admin
言語 PyPy3 (7.3.0)
得点 900
コード長 911 Byte
結果 AC
実行時間 732 ms
メモリ 117720 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 900 / 900
結果
AC × 3
AC × 72
セット名 テストケース
Sample sample.txt, sample_2.txt, sample_3.txt
All 00max_12_1214827.txt, 00max_12_1615037.txt, 00max_12_70219.txt, 0max_12_1214827.txt, 0max_12_1615037.txt, 0max_12_70219.txt, any_2_1.txt, any_3_1.txt, any_4_1.txt, any_5_349.txt, any_6_781.txt, any_9_199.txt, any_9_49139.txt, case_10_1.txt, case_10_19.txt, case_10_757.txt, case_11_1993892839.txt, case_11_23.txt, case_11_41.txt, case_11_86690993.txt, case_12_1201463903.txt, case_12_1201463903_2.txt, case_12_1615037.txt, case_12_1983812491.txt, case_12_1983812491_2.txt, case_12_22747.txt, case_12_23.txt, case_12_23_2.txt, case_12_27633669769.txt, case_12_27941021.txt, case_12_27941021_2.txt, case_12_3053.txt, case_12_3708866831.txt, case_12_52237561.txt, case_12_529.txt, case_12_642643483.txt, case_12_70219.txt, case_12_71.txt, case_12_85303937113.txt, case_12_85303937113_2.txt, case_12_989.txt, case_12_989_2.txt, case_13_1.txt, case_14_6421.txt, case_15_1382253990020129.txt, case_15_16653662530363.txt, case_15_2573.txt, case_15_31.txt, case_15_83.txt, case_16_1.txt, case_16_1028654132108003.txt, case_16_1333.txt, case_16_31.txt, case_16_31888278095348093.txt, case_16_43.txt, case_16_44232127680644129.txt, case_8_1.txt, full_10_3715891199.txt, full_16_1371195958099967999.txt, full_2_7.txt, max_13_51011754393599.txt, max_16_1371195958099967999.txt, max_5_3839.txt, sample.txt, sample_2.txt, sample_3.txt, small_m_14_6421.txt, small_m_15_516263538441253.txt, zero_11_41.txt, zero_14_1.txt, zero_15_1382253990020129.txt, zero_16_1028654132108003.txt
ケース名 結果 実行時間 メモリ
00max_12_1214827.txt AC 732 ms 117432 KiB
00max_12_1615037.txt AC 406 ms 67244 KiB
00max_12_70219.txt AC 85 ms 72108 KiB
0max_12_1214827.txt AC 546 ms 117720 KiB
0max_12_1615037.txt AC 405 ms 67128 KiB
0max_12_70219.txt AC 82 ms 72060 KiB
any_2_1.txt AC 52 ms 61908 KiB
any_3_1.txt AC 54 ms 61760 KiB
any_4_1.txt AC 52 ms 62044 KiB
any_5_349.txt AC 53 ms 61916 KiB
any_6_781.txt AC 50 ms 62144 KiB
any_9_199.txt AC 57 ms 64148 KiB
any_9_49139.txt AC 58 ms 65212 KiB
case_10_1.txt AC 54 ms 61920 KiB
case_10_19.txt AC 54 ms 62004 KiB
case_10_757.txt AC 64 ms 67148 KiB
case_11_1993892839.txt AC 56 ms 61928 KiB
case_11_23.txt AC 56 ms 62264 KiB
case_11_41.txt AC 54 ms 62092 KiB
case_11_86690993.txt AC 58 ms 64812 KiB
case_12_1201463903.txt AC 57 ms 64736 KiB
case_12_1201463903_2.txt AC 58 ms 65108 KiB
case_12_1615037.txt AC 406 ms 67356 KiB
case_12_1983812491.txt AC 60 ms 64800 KiB
case_12_1983812491_2.txt AC 60 ms 64720 KiB
case_12_22747.txt AC 67 ms 68412 KiB
case_12_23.txt AC 55 ms 62276 KiB
case_12_23_2.txt AC 54 ms 62240 KiB
case_12_27633669769.txt AC 48 ms 62208 KiB
case_12_27941021.txt AC 78 ms 67040 KiB
case_12_27941021_2.txt AC 81 ms 67024 KiB
case_12_3053.txt AC 63 ms 67680 KiB
case_12_3708866831.txt AC 58 ms 65048 KiB
case_12_52237561.txt AC 70 ms 67020 KiB
case_12_529.txt AC 64 ms 67804 KiB
case_12_642643483.txt AC 59 ms 64852 KiB
case_12_70219.txt AC 81 ms 72176 KiB
case_12_71.txt AC 53 ms 62596 KiB
case_12_85303937113.txt AC 54 ms 61908 KiB
case_12_85303937113_2.txt AC 53 ms 62112 KiB
case_12_989.txt AC 63 ms 67352 KiB
case_12_989_2.txt AC 65 ms 67488 KiB
case_13_1.txt AC 56 ms 62216 KiB
case_14_6421.txt AC 68 ms 67476 KiB
case_15_1382253990020129.txt AC 51 ms 62408 KiB
case_15_16653662530363.txt AC 57 ms 64824 KiB
case_15_2573.txt AC 66 ms 67296 KiB
case_15_31.txt AC 54 ms 62056 KiB
case_15_83.txt AC 59 ms 64108 KiB
case_16_1.txt AC 53 ms 61932 KiB
case_16_1028654132108003.txt AC 59 ms 65172 KiB
case_16_1333.txt AC 60 ms 67452 KiB
case_16_31.txt AC 57 ms 62176 KiB
case_16_31888278095348093.txt AC 50 ms 62256 KiB
case_16_43.txt AC 54 ms 62704 KiB
case_16_44232127680644129.txt AC 57 ms 61984 KiB
case_8_1.txt AC 55 ms 61888 KiB
full_10_3715891199.txt AC 53 ms 61872 KiB
full_16_1371195958099967999.txt AC 54 ms 61652 KiB
full_2_7.txt AC 50 ms 61860 KiB
max_13_51011754393599.txt AC 54 ms 62388 KiB
max_16_1371195958099967999.txt AC 54 ms 62148 KiB
max_5_3839.txt AC 49 ms 62108 KiB
sample.txt AC 53 ms 61836 KiB
sample_2.txt AC 53 ms 61896 KiB
sample_3.txt AC 402 ms 67336 KiB
small_m_14_6421.txt AC 66 ms 67716 KiB
small_m_15_516263538441253.txt AC 57 ms 63448 KiB
zero_11_41.txt AC 52 ms 62088 KiB
zero_14_1.txt AC 47 ms 62212 KiB
zero_15_1382253990020129.txt AC 55 ms 61920 KiB
zero_16_1028654132108003.txt AC 59 ms 65228 KiB