結果
問題 |
No.5001 排他的論理和でランニング
|
ユーザー |
![]() |
提出日時 | 2018-03-16 23:29:26 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 64 ms / 1,500 ms |
コード長 | 762 bytes |
コンパイル時間 | 662 ms |
実行使用メモリ | 6,148 KB |
スコア | 52,420,273 |
最終ジャッジ日時 | 2020-03-12 19:35:30 |
ジャッジサーバーID (参考情報) |
judge7 / |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
use std::io::{stdin, Read}; fn main() { let mut buf = String::new(); stdin().read_to_string(&mut buf).unwrap(); let mut buf = buf.split_whitespace(); let mut get = || buf.next().unwrap().parse::<i32>().unwrap(); let n = get() as usize; let m = get() as usize; let mut xs = vec![]; for _ in 0..n { xs.push(get()); } let mut v = 0; for i in 0..m { v ^= xs[i]; } for i in 0..50 { for j in 0..n { let i = (j + m + i) % n; let e = v ^ xs[j] ^ xs[i]; if e > v { xs.swap(i, j); v = e; } } } for i in 0..m { if i > 0 { print!(" "); } print!("{}", xs[i]); } println!(); }