Submission #1605045
Source Code Expand
fn main() { let n: usize = read(); let vec: Vec<i32> = read_vec(); let mut dp: Vec<i32> = vec![0; n]; dp[1] = (vec[0] - vec[1]).abs(); for i in 2 .. n { dp[i] = std::cmp::min(dp[i-2]+(vec[i-2]-vec[i]).abs(), dp[i-1]+(vec[i-1]-vec[i]).abs()); } println!("{}", dp[n-1]); } fn read<T: std::str::FromStr>() -> T { let mut buf = String::new(); std::io::stdin().read_line(&mut buf).ok(); buf.trim().parse::<T>().ok().unwrap() } fn read_vec<T: std::str::FromStr>() -> Vec<T> { let mut buf = String::new(); std::io::stdin().read_line(&mut buf).ok(); buf.trim().split_whitespace().map(|t| t.parse::<T>().ok().unwrap()).collect() }
Submission Info
Submission Time | |
---|---|
Task | C - 柱柱柱柱柱 |
User | aimy |
Language | Rust (1.15.1) |
Score | 100 |
Code Size | 686 Byte |
Status | AC |
Exec Time | 6 ms |
Memory | 4352 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 2 ms | 4352 KB |
sample_02.txt | AC | 2 ms | 4352 KB |
sample_03.txt | AC | 2 ms | 4352 KB |
subtask1_01.txt | AC | 2 ms | 4352 KB |
subtask1_02.txt | AC | 2 ms | 4352 KB |
subtask1_03.txt | AC | 2 ms | 4352 KB |
subtask1_04.txt | AC | 6 ms | 4352 KB |
subtask1_05.txt | AC | 6 ms | 4352 KB |
subtask1_06.txt | AC | 6 ms | 4352 KB |
subtask1_07.txt | AC | 6 ms | 4352 KB |