Pagini recente » Cod sursa (job #1929403) | Cod sursa (job #2234589) | Cod sursa (job #776486) | Cod sursa (job #1463990) | Cod sursa (job #3294575)
#include <iostream>
#include <vector>
using namespace std;
const int MAXG=1001;
const int MAXW=5001;
int e[MAXG], c[MAXG];
vector<int> previous(MAXW);
vector<int> curr(MAXW);
int main()
{
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);
int g,w;
cin>>g>>w;
for (int i=0;i<g;i++){
cin>>e[i]>>c[i];
}
for (int i=1;i<=g;i++){
for (int j=0;j<=w;j++){
if (j-e[i]>=0){
curr[j]=max(previous[j], previous[j-e[i]]+c[i]);
}
}
previous=curr;
}
if (curr[w]){
cout<<curr[w];
}
else{
cout<<-1;
}
return 0;
}