提出 #68381154
ソースコード 拡げる
#![allow(unused)]
use proconio::input;
use proconio::marker::Chars;
fn main() {
input! {
n: usize,
s: Chars,
}
let f = (0..n)
.map(|i| if s[i] == '0' { 1 } else { 0 })
.collect::<Vec<i64>>();
let mut pref = vec![f[0]; n];
for i in 1..n {
pref[i] = pref[i - 1] + f[i];
}
// s[i..=j] is good if number of 0 in s[i..=j] is even
// = (pref[j] - pref[i - 1] is even) or (pref[j] is even)
let mut ans = 0;
let mut cnt = vec![0 as i64; 2];
for j in 0..n {
let m = (pref[j] % 2) as usize;
ans += cnt[m];
if m == 0 {
ans += 1;
}
cnt[m] += 1;
}
println!("{ans}");
}
fn join<T: ToString>(arr: &[T], sep: &str) -> String {
arr.iter()
.map(|x| x.to_string())
.collect::<Vec<String>>()
.join(sep)
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - XNOR Operation |
| ユーザ | amoshuangyc |
| 言語 | Rust (rustc 1.70.0) |
| 得点 | 425 |
| コード長 | 912 Byte |
| 結果 | AC |
| 実行時間 | 3 ms |
| メモリ | 6080 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 425 / 425 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 03_corner_00.txt, 03_corner_01.txt, 03_corner_02.txt, 03_corner_03.txt, 03_corner_04.txt, 03_corner_05.txt, 03_corner_06.txt, 03_corner_07.txt, 03_corner_08.txt, 03_corner_09.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 2092 KiB |
| 00_sample_01.txt | AC | 0 ms | 2068 KiB |
| 00_sample_02.txt | AC | 0 ms | 1912 KiB |
| 01_small_00.txt | AC | 0 ms | 2100 KiB |
| 01_small_01.txt | AC | 0 ms | 1944 KiB |
| 01_small_02.txt | AC | 0 ms | 1808 KiB |
| 01_small_03.txt | AC | 0 ms | 1972 KiB |
| 01_small_04.txt | AC | 0 ms | 1900 KiB |
| 01_small_05.txt | AC | 0 ms | 1900 KiB |
| 02_random_00.txt | AC | 3 ms | 5600 KiB |
| 02_random_01.txt | AC | 3 ms | 5872 KiB |
| 02_random_02.txt | AC | 3 ms | 5668 KiB |
| 02_random_03.txt | AC | 3 ms | 6008 KiB |
| 02_random_04.txt | AC | 3 ms | 5712 KiB |
| 02_random_05.txt | AC | 3 ms | 5876 KiB |
| 02_random_06.txt | AC | 3 ms | 5592 KiB |
| 02_random_07.txt | AC | 3 ms | 6080 KiB |
| 02_random_08.txt | AC | 3 ms | 5512 KiB |
| 02_random_09.txt | AC | 3 ms | 6036 KiB |
| 03_corner_00.txt | AC | 3 ms | 5872 KiB |
| 03_corner_01.txt | AC | 3 ms | 5984 KiB |
| 03_corner_02.txt | AC | 3 ms | 6020 KiB |
| 03_corner_03.txt | AC | 3 ms | 6024 KiB |
| 03_corner_04.txt | AC | 3 ms | 5988 KiB |
| 03_corner_05.txt | AC | 3 ms | 5996 KiB |
| 03_corner_06.txt | AC | 3 ms | 5928 KiB |
| 03_corner_07.txt | AC | 3 ms | 6004 KiB |
| 03_corner_08.txt | AC | 3 ms | 5932 KiB |
| 03_corner_09.txt | AC | 3 ms | 6016 KiB |