Submission #67755123


Source Code Expand

use std::cmp::max;
use proconio::*;

pub fn main() {
  input! {
    mut n: usize,
    m: usize,
    a: [(usize, usize); m]
  }
  let mut best = vec![0; 301];
  for (x, y) in a {
    best[x] = max(best[x], y);
  }
  let mut dp = vec![0; 2000001];
  for i in 0..dp.len() {
    dp[i] = i;
    for (x, y) in best.iter().enumerate() {
      if i >= x {
        dp[i] = max(dp[i], x + dp[i - x + y]);
      }
    }
  }
  let mut bestx = 0;
  let mut besty = 0;
  for (x, &y) in best.iter().enumerate() {
    if y != 0 && (bestx == 0 || bestx * (x - y) <= x * (bestx - besty)) {
      bestx = x;
      besty = y;
    }
  }
  let mut add = 0;
  if n >= dp.len() {
    let c = 1 + (n - dp.len()) / (bestx - besty);
    add = bestx * c;
    n -= c * (bestx - besty);
  }
  println!("{}", dp[n] + add);
}

Submission Info

Submission Time
Task G - Get Many Cola
User BigBag
Language Rust (rustc 1.70.0)
Score 575
Code Size 830 Byte
Status AC
Exec Time 573 ms
Memory 19176 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 575 / 575
Status
AC × 3
AC × 40
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 02_random2_00.txt, 02_random2_01.txt, 02_random2_02.txt, 02_random2_03.txt, 02_random2_04.txt, 02_random2_05.txt, 02_random2_06.txt, 02_random2_07.txt, 02_random2_08.txt, 02_random2_09.txt, 02_random2_10.txt, 02_random2_11.txt, 02_random2_12.txt, 02_random2_13.txt, 02_random2_14.txt, 02_random2_15.txt, 02_random2_16.txt, 02_random2_17.txt, 02_random2_18.txt, 02_random2_19.txt, 02_random2_20.txt, 03_random3_00.txt, 03_random3_01.txt, 03_random3_02.txt, 03_random3_03.txt, 03_random3_04.txt, 03_random3_05.txt, 04_handmade_00.txt, 04_handmade_01.txt, 04_handmade_02.txt, 04_handmade_03.txt, 04_handmade_04.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 563 ms 17476 KiB
00_sample_01.txt AC 563 ms 17476 KiB
00_sample_02.txt AC 564 ms 17440 KiB
01_random_00.txt AC 571 ms 18944 KiB
01_random_01.txt AC 570 ms 18704 KiB
01_random_02.txt AC 568 ms 18444 KiB
01_random_03.txt AC 570 ms 18696 KiB
01_random_04.txt AC 570 ms 18792 KiB
02_random2_00.txt AC 571 ms 19104 KiB
02_random2_01.txt AC 572 ms 18824 KiB
02_random2_02.txt AC 571 ms 18972 KiB
02_random2_03.txt AC 571 ms 18912 KiB
02_random2_04.txt AC 571 ms 18940 KiB
02_random2_05.txt AC 571 ms 18964 KiB
02_random2_06.txt AC 571 ms 18948 KiB
02_random2_07.txt AC 571 ms 19060 KiB
02_random2_08.txt AC 571 ms 18968 KiB
02_random2_09.txt AC 571 ms 18824 KiB
02_random2_10.txt AC 572 ms 19044 KiB
02_random2_11.txt AC 571 ms 18924 KiB
02_random2_12.txt AC 571 ms 19036 KiB
02_random2_13.txt AC 572 ms 19016 KiB
02_random2_14.txt AC 572 ms 18984 KiB
02_random2_15.txt AC 572 ms 18916 KiB
02_random2_16.txt AC 572 ms 19056 KiB
02_random2_17.txt AC 572 ms 18952 KiB
02_random2_18.txt AC 572 ms 18828 KiB
02_random2_19.txt AC 571 ms 18980 KiB
02_random2_20.txt AC 571 ms 18980 KiB
03_random3_00.txt AC 571 ms 18936 KiB
03_random3_01.txt AC 573 ms 18960 KiB
03_random3_02.txt AC 571 ms 18920 KiB
03_random3_03.txt AC 572 ms 18828 KiB
03_random3_04.txt AC 571 ms 18896 KiB
03_random3_05.txt AC 571 ms 18844 KiB
04_handmade_00.txt AC 569 ms 18360 KiB
04_handmade_01.txt AC 570 ms 18372 KiB
04_handmade_02.txt AC 564 ms 17344 KiB
04_handmade_03.txt AC 563 ms 17380 KiB
04_handmade_04.txt AC 571 ms 19176 KiB