Submission #917337

#TimeUsernameProblemLanguageResultExecution timeMemory
917337rainboy서울에서 경산까지 (KOI17_travel)C11
29 / 100
6 ms604 KiB
#include <stdio.h> #include <string.h> #define W 100000 int max(int a, int b) { return a > b ? a : b; } int main() { static int dp[W]; int n, w, s, x; scanf("%d%d", &n, &w); memset(dp, -1, (w + 1) * sizeof *dp), dp[0] = 0; while (n--) { int w1, v1, w2, v2; scanf("%d%d%d%d", &w1, &v1, &w2, &v2); for (s = w; s >= 0; s--) { x = dp[s]; if (x == -1) continue; dp[s] = -1; if (s + w1 <= w) dp[s + w1] = max(dp[s + w1], x + v1); if (s + w2 <= w) dp[s + w2] = max(dp[s + w2], x + v2); } } x = -1; for (s = 0; s <= w; s++) x = max(x, dp[s]); printf("%d\n", x); return 0; }

Compilation message (stderr)

travel.c: In function 'main':
travel.c:12:2: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |  scanf("%d%d", &n, &w);
      |  ^~~~~~~~~~~~~~~~~~~~~
travel.c:17:3: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |   scanf("%d%d%d%d", &w1, &v1, &w2, &v2);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...