結果

問題 No.854 公平なりんご分配
ユーザー kamome
提出日時 2019-07-26 22:31:47
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
TLE  
実行時間 -
コード長 1,035 bytes
コンパイル時間 99 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 18,076 KB
最終ジャッジ日時 2024-07-02 07:58:51
合計ジャッジ時間 7,469 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 30 TLE * 1 -- * 61
権限があれば一括ダウンロードができます

ソースコード

diff #

#coding:utf-8
def prime_factors(n):
    i = 2
    factors = []
    while i * i <= n:
        if n % i:
            i += 1
        else:
            n //= i
            factors.append(i)
    if n > 1:
        factors.append(n)
    return factors

input()
boxes=list(map(int,input().split()))
b_p=[]
for b in boxes:
    dct={}
    lst_prime=prime_factors(b)
    for l in lst_prime:
        l=str(l)
        if l in dct.keys():
            dct[l]=dct[l]+1
        else:
            dct[l]=1
    b_p.append(dct)
#print(b_p)
Q=int(input())

for i in range(Q):
    _in=list(map(int,input().split()))
    P,L,R = _in[0],_in[1],_in[2]
    dct_p={}
    lst_prime=prime_factors(P)
    res=True
    for l in lst_prime:
        l=str(l)
        if l in dct_p.keys():
            dct_p[l]=dct_p[l]+1
        else:
            dct_p[l]=1
    for k in dct_p.keys():
        if dct_p[k] > sum([ x[k] if k in x.keys() else 0 for x in b_p[L-1:R]]):
            print("NO")
            res=False
            break
    if res == True:
        print("Yes")
0