//                                             ,---------,
//                                           ,"        ,"|
//      ,------------------------,|        ,"        ,"  |
//      +-----------------------+ |      ,"        ,"    |
//      |  .-----------------.  | |     +---------+      |
//      |  |                 |  | |     | -==----'|      |
//      |  |  Keep Calm AND  |  | |     |         |      |
//      |  |   FUCK YOU :))  |  | |/----|`---=    |      |
//      |  |  C:\>_          |  | |   ,/|==== ooo |      ;
//      |  |                 |  | |  // |(((( [33]|    ,"
//      |  `-----------------'  |, .;'| |((((     |  ,"
//      +-----------------------+  ;; | |         |,"
//         /_)______________(_/  //'   |+---------+
//    ___________________________/___  `,
//   /  oooooooooooooooo  .o.  oooo /,   \,"-----------
//  / ==ooooooooooooooo==.o.  ooo= //   ,`\--{)B     ,"
// /_==__==========__==_ooo__ooo=_/'   /___________,"
// `-----------------------------'

#include/*       .     .       .  .   . .   .   . .    +  .                 */  <bits/stdc++.h>
        /*       .     .  :     .    .. :. .___---------___.                */
        /*            .  .   .    .  :.:. _".^ .^ ^.  '.. :"-_. .           */
   using/*         .  :       .  .  .:../:            . .^  :.:\.           */  namespace std;
        /*             .   . :: +. :.:/: .   .    .        . . .:\          */
        /*      .  :    .     . _ :::/:               .  ^ .  . .:\         */
 typedef/*       .. . .   . - : :.:./.                        .  .:\        */  vector< int > vi;
        /*      .      .     . :..|:                    .  .  ^. .:|        */
        /*         .       . : : ..||        .                . . !:|       */
 #define/*       .     . . . ::. ::\(                           . :)/       */  fast_baby ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
        /*      .   .     : . : .:.|. ######              .#######::|       */
        /*       :.. .  :-  : .:  ::|.#######           ..########:|        */
 #define/*      .  .  .  ..  .   . :\ ########          :######## :/        */  ll long long
        /*       .        .+ :: : -.:\ ########       . ########.:/         */
        /*         .  .+   . . . . :.:\. #######       #######..:/          */
 #define/*           :: . . . . ::.:..:.\           .   .   ..:/            */  pop pop_back()
        /*        .   .   .  .. :  -::::.\.       | |     . .:/             */
        /*           .  :  .  .  .-:.":.::.\             ..:/               */
 #define/*      .      -.   . . . .: .:::.:.\.           .:/                */  pb push_back
        /*     .   .   .  :      : ....::_:..:\   ___.  :/                  */
        /*        .   .  .   .:. .. .  .: :.:.:\       :/                   */
 #define/*          +   .   .   : . ::. :.:. .:.|\  .:/|                    */  endl '\n'
        /*          .         +   .  .  ...:: ..|  --.:|                    */
        /*     .      . . .   .  .  . ... :..:.."(  ..)"                    */
 #define/*      .   .       .      :  .   .: ::/  .  .::\                   */  str string

//Can You hear me?
int dp[150][100100],n,W;
int w[150],v[150];
int main()
{
	fast_baby
	cin>>n>>W;
	for(int h=0;h<n;h++)
        cin>>w[h]>>v[h];
    memset(dp,63,sizeof dp);
    dp[0][0]=0;
    for(int i=1;i<=n;i++)
    {
        for(int j=0;j<=100000;j++)
        {
            if(j >= v[i - 1])
                dp[i][j]=min(dp[i-1][j],dp[i-1][j-v[i - 1]]+w[i - 1]);
            else
                dp[i][j] = dp[i-1][j];
        }
    }
    int ma=-1;
    for(int h=0;h<=100000;h++)
        if(dp[n][h]<=W)
            ma=max(ma,h);
        cout<<ma;
return 0;
} //Va menallaha tofigh :))


Measured memory_bytes: 58880