QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#228003#7642. Integer Half-Sumucup-team635#AC ✓0ms2240kbRust2.7kb2023-10-28 10:31:472023-10-28 10:31:47

Judging History

This is the latest submission verdict.

  • [2023-10-28 10:31:47]
  • Judged
  • Verdict: AC
  • Time: 0ms
  • Memory: 2240kb
  • [2023-10-28 10:31:47]
  • Submitted

answer

use std::io::Write;
use std::collections::*;

type Map<K, V> = BTreeMap<K, V>;
type Set<T> = BTreeSet<T>;
type Deque<T> = VecDeque<T>;

fn main() {
    input! {
        l: i32,
        r: i32,
    }
    let ans = if r - l == 1 {
        -1
    } else if r == l {
        r
    } else {
        r - 1
    };
    println!("{}", ans);
}

fn test() {
    let n = 20i32;
    for r in 1..=n {
        let mut p = (1..=r).collect::<Vec<_>>();
        let mut set = Set::new();
        set.insert(p.clone());
        let mut dfs = vec![p];
        while let Some(a) = dfs.pop() {
            for i in 0..a.len() {
                for j in 0..i {
                    if (a[i] + a[j]) % 2 == 0 {
                        let mut a = a.clone();
                        let v = (a[i] + a[j]) / 2;
                        a.remove(i);
                        a.remove(j);
                        a.push(v);
                        a.sort();
                        if set.insert(a.clone()) {
                            dfs.push(a);
                        }
                    }
                }
            }
        }
        let ans = set.iter().filter(|p| p.len() == 1).map(|p| p[0]).max().unwrap_or(-1);
        println!("{}: {}", r, ans);
    }
}

// ---------- begin input macro ----------
// reference: https://qiita.com/tanakh/items/0ba42c7ca36cd29d0ac8
#[macro_export]
macro_rules! input {
    (source = $s:expr, $($r:tt)*) => {
        let mut iter = $s.split_whitespace();
        input_inner!{iter, $($r)*}
    };
    ($($r:tt)*) => {
        let s = {
            use std::io::Read;
            let mut s = String::new();
            std::io::stdin().read_to_string(&mut s).unwrap();
            s
        };
        let mut iter = s.split_whitespace();
        input_inner!{iter, $($r)*}
    };
}

#[macro_export]
macro_rules! input_inner {
    ($iter:expr) => {};
    ($iter:expr, ) => {};
    ($iter:expr, $var:ident : $t:tt $($r:tt)*) => {
        let $var = read_value!($iter, $t);
        input_inner!{$iter $($r)*}
    };
}

#[macro_export]
macro_rules! read_value {
    ($iter:expr, ( $($t:tt),* )) => {
        ( $(read_value!($iter, $t)),* )
    };
    ($iter:expr, [ $t:tt ; $len:expr ]) => {
        (0..$len).map(|_| read_value!($iter, $t)).collect::<Vec<_>>()
    };
    ($iter:expr, chars) => {
        read_value!($iter, String).chars().collect::<Vec<char>>()
    };
    ($iter:expr, bytes) => {
        read_value!($iter, String).bytes().collect::<Vec<u8>>()
    };
    ($iter:expr, usize1) => {
        read_value!($iter, usize) - 1
    };
    ($iter:expr, $t:ty) => {
        $iter.next().unwrap().parse::<$t>().expect("Parse error")
    };
}
// ---------- end input macro ----------

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 1908kb

input:

2 4

output:

3

result:

ok 1 number(s): "3"

Test #2:

score: 0
Accepted
time: 0ms
memory: 1996kb

input:

1 1

output:

1

result:

ok 1 number(s): "1"

Test #3:

score: 0
Accepted
time: 0ms
memory: 2140kb

input:

1 2

output:

-1

result:

ok 1 number(s): "-1"

Test #4:

score: 0
Accepted
time: 0ms
memory: 1924kb

input:

100 100

output:

100

result:

ok 1 number(s): "100"

Test #5:

score: 0
Accepted
time: 0ms
memory: 2240kb

input:

99 100

output:

-1

result:

ok 1 number(s): "-1"

Test #6:

score: 0
Accepted
time: 0ms
memory: 2032kb

input:

3 3

output:

3

result:

ok 1 number(s): "3"

Test #7:

score: 0
Accepted
time: 0ms
memory: 1932kb

input:

2 3

output:

-1

result:

ok 1 number(s): "-1"

Test #8:

score: 0
Accepted
time: 0ms
memory: 2192kb

input:

1 3

output:

2

result:

ok 1 number(s): "2"

Test #9:

score: 0
Accepted
time: 0ms
memory: 2044kb

input:

2 5

output:

4

result:

ok 1 number(s): "4"

Test #10:

score: 0
Accepted
time: 0ms
memory: 2140kb

input:

3 7

output:

6

result:

ok 1 number(s): "6"

Test #11:

score: 0
Accepted
time: 0ms
memory: 1916kb

input:

3 8

output:

7

result:

ok 1 number(s): "7"

Test #12:

score: 0
Accepted
time: 0ms
memory: 2024kb

input:

4 10

output:

9

result:

ok 1 number(s): "9"

Test #13:

score: 0
Accepted
time: 0ms
memory: 1940kb

input:

35 37

output:

36

result:

ok 1 number(s): "36"

Test #14:

score: 0
Accepted
time: 0ms
memory: 2036kb

input:

43 46

output:

45

result:

ok 1 number(s): "45"

Test #15:

score: 0
Accepted
time: 0ms
memory: 2128kb

input:

82 86

output:

85

result:

ok 1 number(s): "85"

Test #16:

score: 0
Accepted
time: 0ms
memory: 2116kb

input:

55 60

output:

59

result:

ok 1 number(s): "59"

Test #17:

score: 0
Accepted
time: 0ms
memory: 2084kb

input:

25 31

output:

30

result:

ok 1 number(s): "30"

Test #18:

score: 0
Accepted
time: 0ms
memory: 2032kb

input:

37 44

output:

43

result:

ok 1 number(s): "43"

Test #19:

score: 0
Accepted
time: 0ms
memory: 1980kb

input:

75 83

output:

82

result:

ok 1 number(s): "82"

Test #20:

score: 0
Accepted
time: 0ms
memory: 2028kb

input:

74 83

output:

82

result:

ok 1 number(s): "82"

Test #21:

score: 0
Accepted
time: 0ms
memory: 1976kb

input:

88 98

output:

97

result:

ok 1 number(s): "97"

Test #22:

score: 0
Accepted
time: 0ms
memory: 1980kb

input:

75 86

output:

85

result:

ok 1 number(s): "85"

Test #23:

score: 0
Accepted
time: 0ms
memory: 1940kb

input:

1 100

output:

99

result:

ok 1 number(s): "99"

Test #24:

score: 0
Accepted
time: 0ms
memory: 2128kb

input:

1 50

output:

49

result:

ok 1 number(s): "49"

Test #25:

score: 0
Accepted
time: 0ms
memory: 1956kb

input:

50 100

output:

99

result:

ok 1 number(s): "99"

Test #26:

score: 0
Accepted
time: 0ms
memory: 2188kb

input:

7 35

output:

34

result:

ok 1 number(s): "34"

Test #27:

score: 0
Accepted
time: 0ms
memory: 1932kb

input:

87 95

output:

94

result:

ok 1 number(s): "94"

Test #28:

score: 0
Accepted
time: 0ms
memory: 1960kb

input:

11 30

output:

29

result:

ok 1 number(s): "29"

Test #29:

score: 0
Accepted
time: 0ms
memory: 1980kb

input:

47 69

output:

68

result:

ok 1 number(s): "68"

Test #30:

score: 0
Accepted
time: 0ms
memory: 2164kb

input:

11 48

output:

47

result:

ok 1 number(s): "47"

Test #31:

score: 0
Accepted
time: 0ms
memory: 2240kb

input:

71 85

output:

84

result:

ok 1 number(s): "84"

Test #32:

score: 0
Accepted
time: 0ms
memory: 1936kb

input:

84 89

output:

88

result:

ok 1 number(s): "88"

Test #33:

score: 0
Accepted
time: 0ms
memory: 1980kb

input:

22 56

output:

55

result:

ok 1 number(s): "55"

Test #34:

score: 0
Accepted
time: 0ms
memory: 1936kb

input:

2 72

output:

71

result:

ok 1 number(s): "71"

Test #35:

score: 0
Accepted
time: 0ms
memory: 1932kb

input:

18 55

output:

54

result:

ok 1 number(s): "54"

Test #36:

score: 0
Accepted
time: 0ms
memory: 2020kb

input:

4 11

output:

10

result:

ok 1 number(s): "10"

Test #37:

score: 0
Accepted
time: 0ms
memory: 2044kb

input:

42 59

output:

58

result:

ok 1 number(s): "58"

Test #38:

score: 0
Accepted
time: 0ms
memory: 1968kb

input:

52 79

output:

78

result:

ok 1 number(s): "78"

Test #39:

score: 0
Accepted
time: 0ms
memory: 1972kb

input:

11 48

output:

47

result:

ok 1 number(s): "47"

Test #40:

score: 0
Accepted
time: 0ms
memory: 2048kb

input:

4 51

output:

50

result:

ok 1 number(s): "50"

Test #41:

score: 0
Accepted
time: 0ms
memory: 2036kb

input:

3 60

output:

59

result:

ok 1 number(s): "59"

Test #42:

score: 0
Accepted
time: 0ms
memory: 2040kb

input:

21 88

output:

87

result:

ok 1 number(s): "87"

Test #43:

score: 0
Accepted
time: 0ms
memory: 2040kb

input:

17 94

output:

93

result:

ok 1 number(s): "93"

Test #44:

score: 0
Accepted
time: 0ms
memory: 2220kb

input:

11 98

output:

97

result:

ok 1 number(s): "97"

Test #45:

score: 0
Accepted
time: 0ms
memory: 2024kb

input:

2 99

output:

98

result:

ok 1 number(s): "98"

Extra Test:

score: 0
Extra Test Passed