Submission #3784235


Source Code Expand

#[allow(unused_macros)]
macro_rules! input {
    (source = $s:expr, $($r:tt)*) => {
        let mut iter = $s.split_whitespace();
        let mut next = || { iter.next().unwrap() };
        input_inner!{next, $($r)*}
    };
    ($($r:tt)*) => {
        let stdin = std::io::stdin();
        let mut bytes = std::io::Read::bytes(std::io::BufReader::new(stdin.lock()));
        let mut next = move || -> String{
            bytes
                .by_ref()
                .map(|r|r.unwrap() as char)
                .skip_while(|c|c.is_whitespace())
                .take_while(|c|!c.is_whitespace())
                .collect()
        };
        input_inner!{next, $($r)*}
    };
}

#[allow(unused_macros)]
macro_rules! input_inner {
    ($next:expr) => {};
    ($next:expr, ) => {};

    ($next:expr, $var:ident : $t:tt $($r:tt)*) => {
        let $var = read_value!($next, $t);
        input_inner!{$next $($r)*}
    };
}

#[allow(unused_macros)]
macro_rules! read_value {
    ($next:expr, ( $($t:tt),* )) => {
        ( $(read_value!($next, $t)),* )
    };

    ($next:expr, [ $t:tt ; $len:expr ]) => {
        (0..$len).map(|_| read_value!($next, $t)).collect::<Vec<_>>()
    };

    ($next:expr, chars) => {
        read_value!($next, String).chars().collect::<Vec<char>>()
    };

    ($next:expr, usize1) => {
        read_value!($next, usize) - 1
    };

    ($next:expr, $t:ty) => {
        $next().parse::<$t>().expect("Parse error")
    };
}

#[allow(unused_macros)]
macro_rules! debug {
    ($($a:expr),*) => {
        println!(concat!($(stringify!($a), "={:?} "),*), $($a),*);
    }
}

#[allow(unused_imports)]
use std::cmp::{min, max};

fn main() {
    input!{
      n: i64,
      a: i64,
      b: i64,
      c: i64,
      d: i64,
    }

    for up in 0..n {
        let down = n-1-up;
        let upper = a + up*d - c*down;
        let lower = a + up*c - d*down;
        if lower <= b && b <= upper {
            println!("{}", "YES");
            return;
        }
    }
    println!("{}", "NO");
}

Submission Info

Submission Time
Task B - Moderate Differences
User arzk
Language Rust (1.15.1)
Score 400
Code Size 2100 Byte
Status AC
Exec Time 2 ms
Memory 4352 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 4
AC × 38
Set Name Test Cases
Sample sample1.txt, sample2.txt, sample3.txt, sample4.txt
All sample1.txt, sample2.txt, sample3.txt, sample4.txt, a01.txt, a02.txt, a03.txt, a04.txt, b01.txt, b02.txt, b03.txt, b04.txt, c01.txt, c02.txt, c03.txt, c04.txt, d01.txt, d02.txt, d03.txt, d04.txt, d05.txt, d06.txt, d07.txt, d08.txt, d09.txt, d10.txt, d11.txt, d12.txt, d13.txt, d14.txt, d15.txt, d16.txt, d17.txt, d18.txt, sample1.txt, sample2.txt, sample3.txt, sample4.txt
Case Name Status Exec Time Memory
a01.txt AC 2 ms 4352 KB
a02.txt AC 2 ms 4352 KB
a03.txt AC 2 ms 4352 KB
a04.txt AC 2 ms 4352 KB
b01.txt AC 2 ms 4352 KB
b02.txt AC 2 ms 4352 KB
b03.txt AC 2 ms 4352 KB
b04.txt AC 2 ms 4352 KB
c01.txt AC 2 ms 4352 KB
c02.txt AC 2 ms 4352 KB
c03.txt AC 2 ms 4352 KB
c04.txt AC 2 ms 4352 KB
d01.txt AC 2 ms 4352 KB
d02.txt AC 2 ms 4352 KB
d03.txt AC 2 ms 4352 KB
d04.txt AC 2 ms 4352 KB
d05.txt AC 2 ms 4352 KB
d06.txt AC 2 ms 4352 KB
d07.txt AC 2 ms 4352 KB
d08.txt AC 2 ms 4352 KB
d09.txt AC 2 ms 4352 KB
d10.txt AC 2 ms 4352 KB
d11.txt AC 2 ms 4352 KB
d12.txt AC 2 ms 4352 KB
d13.txt AC 2 ms 4352 KB
d14.txt AC 2 ms 4352 KB
d15.txt AC 2 ms 4352 KB
d16.txt AC 2 ms 4352 KB
d17.txt AC 2 ms 4352 KB
d18.txt AC 2 ms 4352 KB
sample1.txt AC 2 ms 4352 KB
sample2.txt AC 2 ms 4352 KB
sample3.txt AC 2 ms 4352 KB
sample4.txt AC 2 ms 4352 KB