Pagini recente » Cod sursa (job #1837835) | Cod sursa (job #543031) | Cod sursa (job #1893768) | Cod sursa (job #3176083) | Cod sursa (job #1266183)
#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];
sol=d[g];
l=g;
while (l<=g2){
l++;
if (d[l]>=g) {printf("%d ",l);l=g2;}
}
if (d[g2]<g) printf("-1");
}