結果
問題 | No.490 yukiソート |
ユーザー | mai |
提出日時 | 2017-03-11 01:21:17 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 1,057 ms / 2,000 ms |
コード長 | 430 bytes |
コンパイル時間 | 197 ms |
コンパイル使用メモリ | 7,680 KB |
実行使用メモリ | 12,800 KB |
最終ジャッジ日時 | 2024-06-24 11:54:31 |
合計ジャッジ時間 | 14,152 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 34 |
コンパイルメッセージ
Syntax OK
ソースコード
def scan; gets.split.map(&:to_i);end # 各 i (0<i<2n−3) に対して、2. を行う # p+q=i (0≤p<q≤n−1) を満たす整数の組 (p,q)(p,q) 全てに対して、ap>aq ならば apap と aqaq を交換する n=scan[0] a=scan 1.upto(2*n-4){|i| 0.upto(i){|_p| q=i-_p next if q>=n||_p>=n next if _p>q abort unless _p+q==i a[_p],a[q]=a[q],a[_p] if a[_p] > a[q] } } puts a*" "