Submission #37161682


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

int main() {
  int N, K, D;
  cin >> N >> K >> D;
  vector<int64_t> a(N);
  for (int n = 0; n < N; ++n) {
    cin >> a[n];
  }

  unordered_map<int, unordered_map<int, int64_t>> dp;
  for (int n = 0; n < N; ++n) {
    auto prev = dp;
    if (dp[1][a[n]%D] < a[n]) {
      dp[1][a[n]%D] = a[n];
    }
    for (auto [k, v] : prev) {
      if (k == K) continue;
      for (auto [d, sum] : v) {
        auto dd = (d + a[n]) % D;
        if (dp[k+1][dd] < sum + a[n]) {
          dp[k+1][dd] = sum + a[n];
        }
      }
    }
  }
  if (dp[K].count(0)) {
    cout << dp[K][0] << endl;
  } else {
    cout << -1 << endl;
  }
}

Submission Info

Submission Time
Task D - Max Multiple
User Steinberg
Language C++ (GCC 9.2.1)
Score 400
Code Size 702 Byte
Status AC
Exec Time 43 ms
Memory 4024 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 29
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_srnd_00.txt, 01_srnd_01.txt, 01_srnd_02.txt, 01_srnd_03.txt, 01_srnd_04.txt, 01_srnd_05.txt, 01_srnd_06.txt, 01_srnd_07.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 03_max_00.txt, 03_max_01.txt, 03_max_02.txt, 04_obvious_00.txt, 04_obvious_01.txt, 04_obvious_02.txt, 04_obvious_03.txt, 05_hand_00.txt, 05_hand_01.txt, 05_hand_02.txt, 05_hand_03.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 8 ms 3600 KiB
00_sample_01.txt AC 2 ms 3476 KiB
01_srnd_00.txt AC 2 ms 3472 KiB
01_srnd_01.txt AC 2 ms 3616 KiB
01_srnd_02.txt AC 2 ms 3576 KiB
01_srnd_03.txt AC 2 ms 3480 KiB
01_srnd_04.txt AC 2 ms 3556 KiB
01_srnd_05.txt AC 3 ms 3512 KiB
01_srnd_06.txt AC 2 ms 3556 KiB
01_srnd_07.txt AC 3 ms 3404 KiB
02_rnd_00.txt AC 37 ms 3816 KiB
02_rnd_01.txt AC 11 ms 3476 KiB
02_rnd_02.txt AC 35 ms 4024 KiB
02_rnd_03.txt AC 39 ms 3952 KiB
02_rnd_04.txt AC 22 ms 3544 KiB
02_rnd_05.txt AC 13 ms 3640 KiB
02_rnd_06.txt AC 3 ms 3560 KiB
02_rnd_07.txt AC 43 ms 3876 KiB
03_max_00.txt AC 5 ms 3544 KiB
03_max_01.txt AC 4 ms 3588 KiB
03_max_02.txt AC 3 ms 3516 KiB
04_obvious_00.txt AC 3 ms 3412 KiB
04_obvious_01.txt AC 2 ms 3560 KiB
04_obvious_02.txt AC 3 ms 3624 KiB
04_obvious_03.txt AC 4 ms 3576 KiB
05_hand_00.txt AC 39 ms 3876 KiB
05_hand_01.txt AC 13 ms 3692 KiB
05_hand_02.txt AC 13 ms 3612 KiB
05_hand_03.txt AC 12 ms 3548 KiB