結果
問題 | No.942 プレゼント配り |
ユーザー |
![]() |
提出日時 | 2022-02-17 02:20:13 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 235 ms / 2,000 ms |
コード長 | 919 bytes |
コンパイル時間 | 40 ms |
コンパイル使用メモリ | 7,168 KB |
実行使用メモリ | 20,096 KB |
最終ジャッジ日時 | 2024-06-29 07:26:10 |
合計ジャッジ時間 | 4,365 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 18 |
コンパイルメッセージ
Main.rb:59: warning: assigned but unused variable - nums Syntax OK
ソースコード
N, K = gets.split.map(&:to_i) if K == 1 puts 'Yes' puts [*1..N].join(' ') exit end if N % K != 0 puts 'No' exit end S = N * (1 + N) / 2 M = N / K if S % K != 0 puts 'No' exit end if N % 2 == 0 && M % 2 != 0 puts 'No' exit end if M == 1 puts 'No' exit end 1.upto(N) do |n| end presents = [*1..N].each_slice(K).to_a puts 'Yes' ans = Array.new(K) { [] } from = 0 if M % 2 != 0 presents[2].reverse_each.with_index do |n, i| ans[i] << n end K.times do |i| ans[i] << (2 * i) % K + 1 end mid = (0..2).map { |x| presents[x][K / 2] }.sum K.times do |i| ans[i] << mid - ans[i].sum end from = 3 end from.upto(M - 1) do |idx| nums = presents[idx] if idx % 2 == 0 0.upto(K - 1) do |k| ans[k] << presents[idx].shift end else 0.upto(K - 1) do |k| ans[k] << presents[idx].pop end end end ans.each do |nums| puts nums.join(' ') end