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
AC × 3
AC × 10
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