제출 #1299757

#제출 시각아이디문제언어결과실행 시간메모리
1299757ledinhmanh0401Knapsack (NOI18_knapsack)C++20
73 / 100
1096 ms584 KiB
#include<bits/stdc++.h>
#define ll long long
using namespace std;

void setup(){
    if(fopen("input.INP","r")){
        freopen("input.INP","r",stdin);
        freopen("output.OUT","w",stdout);
    }
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
}

ll dp[2005];

int main(){
    setup();
    int S,N;
    cin>>S>>N;
    while(N--){
        ll v,w,k;
        cin>>v>>w>>k;
        ll mx=S/w;
        if(mx>k) mx=k;
        ll p=1;
        while(mx>0){
            ll t=min(p,mx);
            mx-=t;
            ll W=t*w,V=t*v;
            for(int j=S;j>=W;j--) 
                dp[j]=max(dp[j],dp[j-W]+V);
            p<<=1;
        }
    }
    cout<<dp[S];
    return 0;
}

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

knapsack.cpp: In function 'void setup()':
knapsack.cpp:7:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    7 |         freopen("input.INP","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
knapsack.cpp:8:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    8 |         freopen("output.OUT","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...