Submission #1104000


Source Code Expand

#define _USE_MATH_DEFINES
#include <cstdio>
#include <cstring>
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <queue>
#include <list>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>
#include <algorithm>
#include <complex>
#include <cmath>
#include <numeric>
#include <bitset>

using namespace std;

typedef long long int64;
typedef pair<int, int> ii;
const int INF = 1 << 30;

const int N = 500;
int dp[N][N];

int main() {
  int n, A, B;
  scanf("%d%d%d", &n, &A, &B);
  for (int i = 0; i < N; ++i) {
    for (int j = 0; j < N; ++j) {
      dp[i][j] = INF;
    }
  }
  dp[0][0] = 0;
  int sumA = 0, sumB = 0;
  for (int i = 0; i < n; ++i) {
    int a, b, c;
    scanf("%d%d%d", &a, &b, &c);
    sumA += a;
    sumB += b;
    for (int i = sumA; i >= a; --i) {
      for (int j = sumB; j >= b; --j) {
        if (dp[i - a][j - b] != INF && (dp[i - a][j - b] + c < dp[i][j] || dp[i][j] < 0)) {
          dp[i][j] = dp[i - a][j - b] + c;
        }
      }
    }
  }
  int ret = INF;
  for (int i = 0; i <= sumA; ++i) {
    for (int j = 0; j <= sumB; ++j) {
      if (i == 0 && j == 0) continue;
      if (i * B == j * A) {
        ret = min(ret, dp[i][j]);
      }
    }
  }
  if (ret == INF) ret = -1;
  printf("%d\n", ret);
  return 0;
}

Submission Info

Submission Time
Task D - Mixing Experiment
User cuiaoxiang
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1370 Byte
Status AC
Exec Time 3 ms
Memory 1280 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:31:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d", &n, &A, &B);
                              ^
./Main.cpp:41:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d%d", &a, &b, &c);
                                ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 20
Set Name Test Cases
Sample sample_01.txt, sample_02.txt
All sample_01.txt, sample_02.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 1280 KB
sample_02.txt AC 2 ms 1280 KB
subtask_1_01.txt AC 2 ms 1280 KB
subtask_1_02.txt AC 2 ms 1280 KB
subtask_1_03.txt AC 2 ms 1280 KB
subtask_1_04.txt AC 2 ms 1280 KB
subtask_1_05.txt AC 2 ms 1280 KB
subtask_1_06.txt AC 2 ms 1280 KB
subtask_1_07.txt AC 2 ms 1280 KB
subtask_1_08.txt AC 2 ms 1280 KB
subtask_1_09.txt AC 2 ms 1280 KB
subtask_1_10.txt AC 2 ms 1280 KB
subtask_1_11.txt AC 2 ms 1280 KB
subtask_1_12.txt AC 3 ms 1280 KB
subtask_1_13.txt AC 3 ms 1280 KB
subtask_1_14.txt AC 3 ms 1280 KB
subtask_1_15.txt AC 3 ms 1280 KB
subtask_1_16.txt AC 3 ms 1280 KB
subtask_1_17.txt AC 3 ms 1280 KB
subtask_1_18.txt AC 3 ms 1280 KB