제출 #1017131

#제출 시각아이디문제언어결과실행 시간메모리
1017131daviedu은행 (IZhO14_bank)C11
71 / 100
1079 ms8784 KiB
#include <stdio.h>
#include <string.h>

int dp[1<<20], r[1<<20];
int pay[20], notes[20];

int main(){
    memset(dp, -1, sizeof(dp));
    int n, m;
    scanf("%d %d", &n, &m);
    for (int i=0; i<n; i++) scanf("%d", &pay[i]);
    for (int i=0; i<m; i++) scanf("%d", &notes[i]);
    int ans=0;
    for (int i=0; i<n; i++){
        for (int mask=1; mask<(1<<m); mask++){
            int p=-2;
            int c=-1;
            for (int j=0; j<m; j++){
                if (mask & (1 << j)){
                    if (dp[mask ^ (1 << j)] > p){
                        p = dp[mask ^ (1 << j)];
                        c = j;
                    }
                }
            }
            int d = mask ^ (1 << c);
            int v = r[d] + notes[c];
            if (dp[d] == i) dp[mask] = i, r[mask] = v;
            else if (dp[d] == i-1){
                if (v == pay[i]) dp[mask] = i, r[mask] = 0;
                else dp[mask] = i-1, r[mask] = v;
            }
            if (dp[mask] == n-1) ans = 1;
        }
    }
 
    printf("%s\n", (ans? "YES" : "NO"));
    return 0;
}

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

bank.c: In function 'main':
bank.c:10:5: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   10 |     scanf("%d %d", &n, &m);
      |     ^~~~~~~~~~~~~~~~~~~~~~
bank.c:11:29: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   11 |     for (int i=0; i<n; i++) scanf("%d", &pay[i]);
      |                             ^~~~~~~~~~~~~~~~~~~~
bank.c:12:29: warning: ignoring return value of 'scanf' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |     for (int i=0; i<m; i++) scanf("%d", &notes[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...