제출 #844067

#제출 시각아이디문제언어결과실행 시간메모리
844067now_or_neverKnapsack (NOI18_knapsack)C++14
37 / 100
1 ms600 KiB
#include<bits/stdc++.h> #define ll long long using namespace std; const int maxn=1e4+1; int n, m; vector<int> w, v; ll f[maxn]; void solve(int x, int y, int z) { int tmp=1; while(1) { if(z - tmp>=0){ w.push_back(tmp*x); v.push_back(tmp*y); z-=tmp; tmp*=2; } else break; } if(z){ w.push_back(z*x); v.push_back(z*y); } } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>m>>n; for(int i=1;i<=n;i++) { int x, y, z; cin>>y>>x>>z; solve(x, y, z); } for(int i=0; i<w.size(); i++) for(int j=m; j>=w[i]; j--) f[j]=max(f[j], f[j-w[i]] + v[i]); cout<<f[m]; return 0; }

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

knapsack.cpp: In function 'int main()':
knapsack.cpp:35:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 | for(int i=0; i<w.size(); 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...
#Verdict Execution timeMemoryGrader output
Fetching results...