結果
問題 | No.944 煎っぞ! |
ユーザー | mkawa2 |
提出日時 | 2019-12-08 17:19:41 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 90 ms / 3,000 ms |
コード長 | 888 bytes |
コンパイル時間 | 191 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 20,848 KB |
最終ジャッジ日時 | 2024-12-30 21:00:11 |
合計ジャッジ時間 | 4,645 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 35 |
ソースコード
import sys sys.setrecursionlimit(10 ** 6) int1 = lambda x: int(x) - 1 p2D = lambda x: print(*x, sep="\n") def MI(): return map(int, sys.stdin.readline().split()) def LI(): return list(map(int, sys.stdin.readline().split())) def LLI(rows_number): return [LI() for _ in range(rows_number)] def main(): n = int(input()) aa = LI() s = sum(aa) div = [] for d in range(1, s): if d ** 2 > s: break if s % d: continue if d >= s // n: div.append(d) if s // d >= s // n: div.append(s // d) if len(div) > 1 and div[-1] == div[-2]: div.pop() div.sort() #print(div) cs=set() a=0 for i in range(n): a+=aa[i] cs.add(a) #print(cs) for d in div: for kd in range(d,s+1,d): if kd not in cs: break else: print(s//d) break main()