結果
問題 | No.1360 [Zelkova 4th Tune] 協和音 |
ユーザー |
![]() |
提出日時 | 2021-01-22 21:54:49 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 587 ms / 2,000 ms |
コード長 | 593 bytes |
コンパイル時間 | 1,357 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 16,640 KB |
最終ジャッジ日時 | 2024-12-28 00:02:04 |
合計ジャッジ時間 | 15,730 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 47 |
コンパイルメッセージ
Syntax OK
ソースコード
n=gets.to_i a=gets.split.map(&:to_i) b=[] n.times do b << gets.split.map(&:to_i) end # n=18 # a=[1000000000]*n # b=[] # n.times do # b << [1000000000]*n # end d=[0,a[0]] dk=2 dkk=1 dki=0 m=a[0] mi=1 2.upto(2**n-1) do |di| if di==dk dki+=1 dkk=dk dk*=2 end # dki は今の2進数桁数 - 1 # dk は次に位が上がるとき c=a[dki]+d[di-dkk] (dki-1).downto(0) do |i| if di[i]==1 c+=b[dki][i] end end d << c # p [di.to_s(2),c] if m<c m=c mi=di end end puts m l=[] n.times do |i| if mi[i]==1 l << i+1 end end puts l.join(" ")