제출 #809127

#제출 시각아이디문제언어결과실행 시간메모리
809127urd05Fun Palace (CCO18_fun)C++17
25 / 25
62 ms82772 KiB
#include <bits/stdc++.h>
using namespace std;

int n;
int e;
int a[1000];
int b[1000];
int dp[1000][50001]; //정확히.
const int MAX=20000;

int main() {
    scanf("%d\n%d\n",&n,&e);
    for(int i=0;i<n-1;i++) {
        scanf("%d %d",&a[i],&b[i]);
    }
    for(int i=0;i<=MAX;i++) {
        dp[n-1][i]=i;
    }
    for(int i=n-2;i>=0;i--) {
        int mx=0;
        for(int j=0;j<b[i];j++) {
            mx=max(mx,dp[i+1][j]);
        }
        for(int j=0;j<=MAX;j++) {
            if (j<a[i]) {
                dp[i][j]=max(mx+j,dp[i+1][b[i]+j]);
            }
            else if (j<a[i]+b[i]) {
                dp[i][j]=dp[i+1][j-a[i]]+a[i];
            }
            else {
                dp[i][j]=dp[i+1][j];
            }
        }
    }
    int ret=0;
    for(int i=0;i<e;i++) {
        ret=max(ret,dp[0][i]);
    }
    printf("%d",ret);
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp: In function 'int main()':
Main.cpp:12:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |     scanf("%d\n%d\n",&n,&e);
      |     ~~~~~^~~~~~~~~~~~~~~~~~
Main.cpp:14:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |         scanf("%d %d",&a[i],&b[i]);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...