Submission details
Task:Card game
Sender:Giaco
Submission time:2025-09-15 16:15:46 +0300
Language:Rust (2021)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.01 sdetails
#8ACCEPTED0.03 sdetails
#9ACCEPTED0.03 sdetails
#10ACCEPTED0.03 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.04 sdetails
#15ACCEPTED0.03 sdetails

Compiler report

warning: unused import: `min`
 --> input/code.rs:1:21
  |
1 | use std::cmp::{max, min};
  |                     ^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `std::collections::VecDeque`
 --> input/code.rs:2:5
  |
2 | use std::collections::VecDeque;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: variable `DP` should have a snake case name
  --> input/code.rs:35:13
   |
35 |     let mut DP = vec![0; n+1];
   |             ^^ help: convert the identifier to snake case: `dp`
   |
   = note: `#[warn(non_snake_case)]` on by default

warning: 3 warnings emitted

Code

use std::cmp::{max, min};
use std::collections::VecDeque;
use std::io::{self, Read};

macro_rules! input {
    ($it: expr) => {
        $it.next().unwrap().parse().unwrap()
    };
    ($it: expr, $T: ty) => {
        $it.next().unwrap().parse::<$T>().unwrap()
    };
}
/*
mod classes;
mod homework;

fn main() {
    // println!("{}", "-".repeat(20));
    // classes::c04::task3();
    homework::hw2::task2();
    // println!("{}", "-".repeat(20));
}
// */

fn main() {
    let mut buf = String::new();
    io::stdin().read_to_string(&mut buf).unwrap();

    let mut it = buf.split_whitespace();

    let n: usize = input!(it);

    let v: Vec<usize> = (0..n).map(|_| input!(it)).collect();

    let mut DP = vec![0; n+1];

    for i in 3..=n {
        DP[i] = max(DP[i-3]+v[i-2], DP[i-1]);
    }
    println!("{}", DP[n]);
}


Test details

Test 1

Verdict: ACCEPTED

input
5
9 4 1 6 6

correct output
6

user output
6

Test 2

Verdict: ACCEPTED

input
6
5 6 2 4 10 1

correct output
16

user output
16

Test 3

Verdict: ACCEPTED

input
10
8 9 10 2 7 1 10 10 1 4

correct output
26

user output
26

Test 4

Verdict: ACCEPTED

input
100
1 8 8 5 7 10 9 4 8 10 6 3 8 7 ...

correct output
243

user output
243

Test 5

Verdict: ACCEPTED

input
1000
10 7 5 6 5 2 5 3 2 2 1 6 8 7 8...

correct output
2230

user output
2230

Test 6

Verdict: ACCEPTED

input
10000
9 1 8 2 6 5 1 3 3 10 6 3 9 3 1...

correct output
22363

user output
22363

Test 7

Verdict: ACCEPTED

input
100000
5 5 4 6 8 7 9 6 3 2 5 8 7 3 5 ...

correct output
226636

user output
226636

Test 8

Verdict: ACCEPTED

input
1000000
5 8 5 7 9 1 9 10 3 6 1 8 3 9 7...

correct output
2259395

user output
2259395

Test 9

Verdict: ACCEPTED

input
1000000
4 5 3 5 4 3 6 7 10 6 3 9 7 9 1...

correct output
2260761

user output
2260761

Test 10

Verdict: ACCEPTED

input
1000000
10 3 6 7 7 10 4 4 5 2 9 4 6 10...

correct output
2260407

user output
2260407

Test 11

Verdict: ACCEPTED

input
3
87 3 123

correct output
3

user output
3

Test 12

Verdict: ACCEPTED

input
2
175 95

correct output
0

user output
0

Test 13

Verdict: ACCEPTED

input
1
42

correct output
0

user output
0

Test 14

Verdict: ACCEPTED

input
1000000
1000 1000 1000 1000 1000 1000 ...

correct output
333333000

user output
333333000

Test 15

Verdict: ACCEPTED

input
1000000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
333333

user output
333333