Submission #3697259
Source Code Expand
use std::io::stdin; use std::str::FromStr; use std::cmp::max; use std::cmp::min; fn main(){ let (a, b, c): (i64, i64, i64) = get_triple(); let mx = max(max(a, b), c); let mn = min(min(a, b), c); let md = a + b + c - mn - mx; let rem = 3*mx - (a+b+c); if rem % 2 == 0 { println!("{}", rem / 2); } else { if 0 == (mx+mn)%2 { let d = (mx-md)/2 + (mx-md)%2; let md2 = md + d*2; println!("{}", d + (2*md2 - (mx+mn))/2); } else { let d = (mx-mn)/2 + (mx-mn)%2; let mn2 = mn + d*2; println!("{}", d + (2*mn2 - (mx+md))/2); } } } #[allow(dead_code)] fn get_line() -> String { let mut s = String::new(); match stdin().read_line(&mut s){ Ok(_) => {s.trim().to_string()} Err(_) => String::new() } } #[allow(dead_code)] fn get_vec<T: std::str::FromStr>() -> Vec<T> { let line = get_line(); line.split_whitespace().filter_map(|x| x.parse().ok()).collect() } #[allow(dead_code)] fn get_one<T: FromStr + Copy>() -> T { let v = get_vec(); v[0] } #[allow(dead_code)] fn get_pair<T: FromStr + Copy>() -> (T, T) { let v = get_vec(); (v[0], v[1]) } #[allow(dead_code)] fn get_triple<T: FromStr + Copy>() -> (T, T, T) { let v = get_vec(); (v[0], v[1], v[2]) } #[allow(dead_code)] fn get_chars() -> Vec<char> { get_line().chars().collect() }
Submission Info
Submission Time | |
---|---|
Task | C - Same Integers |
User | seiyab |
Language | Rust (1.15.1) |
Score | 300 |
Code Size | 1490 Byte |
Status | AC |
Exec Time | 3 ms |
Memory | 4352 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt, s3.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, s1.txt, s2.txt, s3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 2 ms | 4352 KB |
02.txt | AC | 2 ms | 4352 KB |
03.txt | AC | 3 ms | 4352 KB |
04.txt | AC | 2 ms | 4352 KB |
05.txt | AC | 2 ms | 4352 KB |
06.txt | AC | 2 ms | 4352 KB |
07.txt | AC | 2 ms | 4352 KB |
08.txt | AC | 2 ms | 4352 KB |
09.txt | AC | 2 ms | 4352 KB |
10.txt | AC | 2 ms | 4352 KB |
11.txt | AC | 2 ms | 4352 KB |
12.txt | AC | 2 ms | 4352 KB |
13.txt | AC | 2 ms | 4352 KB |
s1.txt | AC | 2 ms | 4352 KB |
s2.txt | AC | 2 ms | 4352 KB |
s3.txt | AC | 2 ms | 4352 KB |