Advertisement
Josif_tepe

Untitled

Sep 25th, 2022
802
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. //#include <bits/stdc++.h>
  4.  
  5. using namespace std;
  6.  
  7.  
  8. long long dp[101][100001];
  9.  
  10. int main()
  11. {
  12.     ios_base::sync_with_stdio(true);
  13.     int n,W;
  14.     cin>>n>>W;
  15.     int sum = 0;
  16.     for(int i=0;i<=n;i++)
  17.     {
  18.         for(int j=0;j<=100000;j++)
  19.         {
  20.             dp[i][j]=1e18;
  21.         }
  22.     }
  23.     int value[n], weight[n];
  24.     for(int i=0;i<n;i++)
  25.     {
  26.         cin  >> weight[i] >> value[i] ;
  27.         sum += value[i];
  28.     }
  29.     dp[0][0]=0;
  30.     for(int i=0;i<n;i++)
  31.     {
  32.         for(int val=0;val<=sum;val++)
  33.         {
  34.             dp[i+1][val]=min(dp[i+1][val],dp[i][val]);
  35.             if(val+value[i]<=sum)
  36.             {
  37.                 dp[i+1][val+value[i]]=min(dp[i+1][val+value[i]], dp[i][val]+weight[i]);
  38.             }
  39.         }
  40.     }
  41.  
  42.     int ans=0;
  43.     for(int i=0;i<=sum;i++)
  44.     {
  45.         if(dp[n][i] <= W) {
  46.             ans = i;
  47.         }
  48.     }
  49.     cout<<ans<<endl;
  50.     return 0;
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement