結果
問題 | No.3051 Make All Divisible |
ユーザー |
![]() |
提出日時 | 2025-03-09 01:43:45 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,135 bytes |
コンパイル時間 | 416 ms |
コンパイル使用メモリ | 82,892 KB |
実行使用メモリ | 71,076 KB |
最終ジャッジ日時 | 2025-03-09 01:43:49 |
合計ジャッジ時間 | 3,764 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 11 WA * 3 RE * 17 |
ソースコード
import sysinput = sys.stdin.readlineT=int(input())for tests in range(T):n,k=map(int,input().split())A=list(map(int,input().split()))SUM=sum(A)if SUM%k!=0:print(-1)continueflag=1for a in A:if a%k!=0:flag=0breakif flag:print(0)continueA2=[]for a in A:if a!=0:A2.append(a)A=A2n=len(A)if n<k:print(-1)continueif n==k:B=[a%k for a in A]x=B[0]flag=1for b in B:if x!=b:flag=0breakif flag:print(x)else:print(-1)continueB=[]C=[]SUM=0for a in A:if a>=k:B.append(a%k)else:C.append(a)SUM+=a%kMAX=max(max(B),max(C))if MAX<=SUM//k:print(SUM//k)continueB.sort()ANS=-1for b in B:SUM+=1MAX=max(MAX,b+k)if MAX<=SUM//k:ANS=SUM//kprint(ANS)