답안 #908661

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
908661 2024-01-16T16:00:32 Z vjudge1 조교 (CEOI16_popeala) C++17
17 / 100
2000 ms 7924 KB
#include <iostream>
#include <vector>
#include <algorithm>
#include <cassert>
#warning That's the baby, that's not my baby

typedef long long ll;

const int TMAX = 2e4;
const int NMAX = 50;
const int SMAX = 50;

int dp[TMAX + 1][SMAX + 1];
int a[TMAX + 1];
bool b[NMAX + 1][TMAX + 1];
int sum[NMAX + 1][TMAX + 1];
int price[TMAX + 1];

signed main() {
  int n, t, s;
  std::cin >> n >> t >> s;

  for (int i = 1; i <= t; i++) {
    std::cin >> a[i];
    price[i] = price[i - 1] + a[i];
  }
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= t; j++) {
      char ch;
      std::cin >> ch;
      b[i][j] = ch - '0';
      sum[i][j] = sum[i][j - 1] + b[i][j];
    }
  }

  for (int i = 0; i <= TMAX; i++) {
    for (int j = 0; j <= SMAX; j++) {
      dp[i][j] = 2e9 + 5;
    }
  }

  dp[0][0] = 0;

  for (int i = 1; i <= t; i++) {
    for (int j = 1; j <= s; j++) {
      for (int k = 1; k <= i; k++) {
        int bad = 0;
        for (int p = 1; p <= n; p++) {
          if (sum[p][i] - sum[p][k - 1] == i - k + 1) {
            bad++;
          }
        }
        if (dp[k - 1][j - 1] + bad * (price[i] - price[k - 1]) < dp[i][j]) {
          dp[i][j] = dp[k - 1][j - 1] + bad * (price[i] - price[k - 1]);
        }
      }
    }
  }

  for (int i = 1; i <= s; i++) {
    std::cout << dp[t][i] << '\n';
  }

  return 0;
}

Compilation message

popeala.cpp:5:2: warning: #warning That's the baby, that's not my baby [-Wcpp]
    5 | #warning That's the baby, that's not my baby
      |  ^~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 7260 KB Output is correct
2 Correct 4 ms 7356 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 295 ms 7512 KB Output is correct
2 Correct 242 ms 7516 KB Output is correct
3 Correct 279 ms 7924 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2004 ms 7768 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 7260 KB Output is correct
2 Correct 4 ms 7356 KB Output is correct
3 Correct 295 ms 7512 KB Output is correct
4 Correct 242 ms 7516 KB Output is correct
5 Correct 279 ms 7924 KB Output is correct
6 Execution timed out 2004 ms 7768 KB Time limit exceeded
7 Halted 0 ms 0 KB -