結果
問題 | No.527 ナップサック容量問題 |
ユーザー |
|
提出日時 | 2017-04-29 08:15:18 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,093 bytes |
コンパイル時間 | 703 ms |
コンパイル使用メモリ | 83,188 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-13 19:08:36 |
合計ジャッジ時間 | 2,275 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 37 |
ソースコード
#include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<string> #include<stack> #include<queue> #include<vector> #include<algorithm> #include<iomanip> #include<cassert> typedef long long int ll; using namespace std; #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define REP(i,n) for (int i=0;i<(n);i++) #define EREP(i,n) for (int i=1;i<=(n);i++) const int MOD = 1000000007; const int INF = 1000000; #define EVEL 1 #ifndef EVEL #define DEB(X) cout << #X << ":" <<X<<" " ; #define TF(f) f ? cout<<"true " : cout<<"false "; #define END cout<<"\n"; #else #define DEB(X) {X=X;} #define TF(f) {f=f;} #define END {} #endif ll dp[100010]; bool vis[110][110]; ll N,v,w,V; ll fr=-1,bk=100000000007; ll sum; int main(){ ios::sync_with_stdio(false); cin>>N; REP(i,100010)dp[i]=bk; REP(i,N){ cin>>v>>w; for(int j=100010-1;j>v;j--) dp[j]=min(dp[j],dp[j-v]+w); for(int j=v;j>0;j--) dp[j]=min(dp[j],w); } cin>>V; dp[V]>0?cout<<dp[V]:cout<<"1"; dp[V+1]<bk?cout<<dp[V+1]-1:cout<<"inf"; cout<<endl; }