Pagini recente » Cod sursa (job #2504893) | Cod sursa (job #645769) | Cod sursa (job #1233539) | Cod sursa (job #1016978) | Cod sursa (job #3242167)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
struct obiect{
int greutate, val;
};
const int NMAX=1e7;
vector<int> dp(NMAX+5);
int main(){
int n, g;
fin>>n>>g;
vector<struct obiect> v(n+1);
for(int i=1;i<=n;i++){
fin>>v[i].greutate>>v[i].val;
}
for(int i=1;i<=n;i++){
for(int j=1e4+5-v[i].val;j>=0;j--){
dp[j+v[i].val]=max(dp[j+v[i].val], dp[j]+v[i].greutate);
}
}
int min1=INT_MAX;
for(int i=1;i<=NMAX;i++){
if(dp[i]>=g and i<min1){
min1=i;
}
}
fout<<min1;
}