Основное
 
 
Отправитель Задача Язык Вердикт Время Память Отослано Протест.  
120343900 Дорешивание:
memoryallocator
1066E - 14 Rust Неправильный ответ на тесте 3 31 мс 556 КБ 2021-06-23 09:56:42 2021-06-23 09:56:42
→ Исходный код
use std::*;
use io::{stdin, Read};

const MOD: UType = 998244353;

type UType = u64;

fn main() {
    let mut n_and_m = String::new();
    stdin().read_line(&mut n_and_m);

    let mut n_and_m: Vec<&str> = n_and_m.trim().split(" ").collect();
    let m = n_and_m.pop().unwrap().parse::<usize>().unwrap();
    let n = n_and_m.pop().unwrap().parse::<usize>().unwrap();
    drop(n_and_m);

    let mut a = vec![b'\0'; n];
    stdin().read(&mut a);
    stdin().read_line(&mut String::new());
    a.reverse();

    let mut b = vec![b'\0'; m];
    stdin().read(&mut b);
    b.reverse();

    let mut pw: UType = 1;
    let mut res: UType = 0;
    let mut ans: UType = 0;
    for (i, b) in b.into_iter().enumerate() {
        if let Some(b'1') = a.get(i) {
            res = (res + pw).rem_euclid(MOD);
        }
        if b == b'1' {
            ans = (ans + res).rem_euclid(MOD);
        }
        pw = (pw + pw).rem_euclid(MOD);
    }
    println!("{}", ans)
}
?
Время: ? ms, память: ? КБ
Вердикт: ?
Ввод
?
Вывод участника
?
Ответ жюри
?
Комментарий чекера
?
Диагностика
?
Показать детали тестирования