Pagini recente » Cod sursa (job #68971) | Cod sursa (job #2492904) | Cod sursa (job #1658902) | Cod sursa (job #517421) | Cod sursa (job #1266212)
#include<string.h>
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int e[10000],c[10000],d[10000];
int main() {
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
int n,i,j,sol,g,g2,l;
scanf("%d",&n);
scanf("%d",&g);
for (i=1;i<=n;i++){
scanf("%d %d",&e[i],&c[i]);
g2+=c[i];}
for (i=1;i<=n;i++)
for (j=g2-c[i];j>=0;j--)
if (d[j+c[i]]<d[j]+e[i]) d[j+c[i]]=d[j]+e[i];
l=0;
while (l<=g2){
l++;
if (d[l]>=g) {printf("%d ",l);l=g2;}
}
if (d[g2]<g) printf("-1");
}