結果
| 問題 |
No.2879 Range Flip Queries
|
| コンテスト | |
| ユーザー |
well-defined
|
| 提出日時 | 2024-09-14 09:10:19 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 151 ms / 2,000 ms |
| コード長 | 688 bytes |
| コンパイル時間 | 15,232 ms |
| コンパイル使用メモリ | 378,960 KB |
| 実行使用メモリ | 45,696 KB |
| 最終ジャッジ日時 | 2024-09-14 09:10:44 |
| 合計ジャッジ時間 | 24,458 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge6 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 |
ソースコード
use proconio::input;
fn main() {
input! {
n: usize,
q: usize,
mut a: [usize; n],
}
let mut flag = vec![0; n];
for _ in 0..q {
input! {
l: usize,
r: usize,
}
let l = l-1;
let r = r-1;
flag[l] = if flag[l] == 0 { 1 } else { 0 };
if r+1 < flag.len() {
flag[r+1] = if flag[r+1] == 0 { 1 } else { 0 };
}
}
let mut flip = 0;
for i in 0..n {
flip ^= flag[i];
a[i] = if flip == 1 { a[i] ^ flip } else { a[i] };
}
println!("{}", a.iter()
.map(|&x| x.to_string())
.collect::<Vec<String>>()
.join(" "));
}
well-defined