Cod sursa(job #1266212)

Utilizator alex72101Sfat Alexandru alex72101 Data 18 noiembrie 2014 14:52:28
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#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");
}