Task: | Laskettelukeskus |
Sender: | Dasuki |
Submission time: | 2023-11-02 21:41:11 +0200 |
Language: | Rust |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.00 s | 1, 2 | details |
#2 | WRONG ANSWER | 0.00 s | 1, 2 | details |
#3 | WRONG ANSWER | 0.00 s | 1, 2 | details |
#4 | WRONG ANSWER | 0.05 s | 2 | details |
#5 | WRONG ANSWER | 0.05 s | 2 | details |
#6 | ACCEPTED | 0.00 s | 1, 2 | details |
#7 | ACCEPTED | 0.05 s | 2 | details |
#8 | ACCEPTED | 0.00 s | 1, 2 | details |
#9 | ACCEPTED | 0.06 s | 2 | details |
#10 | WRONG ANSWER | 0.00 s | 1, 2 | details |
#11 | WRONG ANSWER | 0.05 s | 2 | details |
#12 | WRONG ANSWER | 0.00 s | 1, 2 | details |
#13 | WRONG ANSWER | 0.05 s | 2 | details |
Compiler report
warning: unused import: `min` --> input/code.rs:2:16 | 2 | cmp::{max, min}, | ^^^ | = note: `#[warn(unused_imports)]` on by default warning: value assigned to `needed_auras` is never read --> input/code.rs:16:13 | 16 | let mut needed_auras: i32 = needs[0]; | ^^^^^^^^^^^^ | = help: maybe it is overwritten before being read? = note: `#[warn(unused_assignments)]` on by default warning: 2 warnings emitted
Code
use std::{ cmp::{max, min}, collections::HashMap, io, }; fn main() { let n = input()[0]; let mut abdict: HashMap<i32, Vec<i32>> = HashMap::new(); for _ in 0..n - 1 { let ab = input(); abdict.entry(ab[0]).or_insert(Vec::new()).push(ab[1]); } let needs = input(); let mut newneeds = needs.clone(); let mut needed_auras: i32 = needs[0]; for rinne in (0..n).rev() { if abdict.contains_key(&rinne) { let children = abdict.get(&rinne).unwrap(); let mut newneed = 0; for child in children { newneed += needs[(child - 1) as usize]; } newneeds[rinne as usize] = max(newneed, needs[rinne as usize]); } } needed_auras = *newneeds.iter().max().unwrap(); print!("{:?}", needed_auras); } fn input() -> Vec<i32> { let mut x = String::new(); io::stdin().read_line(&mut x).unwrap(); x.trim() .split_whitespace() .map(|x| x.parse::<i32>().unwrap()) .collect() }
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 1 2 1 3 3 4 3 5 ... |
correct output |
---|
6 |
user output |
---|
6 |
Test 2
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
100 1 73 1 64 64 23 1 88 ... |
correct output |
---|
2675 |
user output |
---|
319 |
Test 3
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
100 1 36 36 56 56 59 36 97 ... |
correct output |
---|
2808 |
user output |
---|
357 |
Test 4
Group: 2
Verdict: WRONG ANSWER
input |
---|
100000 1 45452 1 74209 45452 78960 45452 79820 ... |
correct output |
---|
28399367694319 |
user output |
---|
2147408058 |
Test 5
Group: 2
Verdict: WRONG ANSWER
input |
---|
100000 1 31165 1 23263 31165 89516 31165 53122 ... |
correct output |
---|
28546840313799 |
user output |
---|
2147380909 |
Test 6
Group: 1, 2
Verdict: ACCEPTED
input |
---|
100 1 79 79 9 79 45 45 10 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 7
Group: 2
Verdict: ACCEPTED
input |
---|
100000 1 66038 1 56789 56789 7403 66038 69542 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 8
Group: 1, 2
Verdict: ACCEPTED
input |
---|
100 1 2 2 3 3 4 4 5 ... |
correct output |
---|
100 |
user output |
---|
100 |
Test 9
Group: 2
Verdict: ACCEPTED
input |
---|
100000 1 2 2 3 3 4 4 5 ... |
correct output |
---|
1000000000 |
user output |
---|
1000000000 |
Test 10
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
100 1 2 1 3 2 4 2 5 ... |
correct output |
---|
2809 |
user output |
---|
195 |
Test 11
Group: 2
Verdict: WRONG ANSWER
input |
---|
100000 1 2 1 3 2 4 2 5 ... |
correct output |
---|
26053917212428 |
user output |
---|
1990997923 |
Test 12
Group: 1, 2
Verdict: WRONG ANSWER
input |
---|
100 1 2 1 3 2 4 2 5 ... |
correct output |
---|
5000 |
user output |
---|
200 |
Test 13
Group: 2
Verdict: WRONG ANSWER
input |
---|
100000 1 2 1 3 2 4 2 5 ... |
correct output |
---|
50000000000000 |
user output |
---|
2000000000 |