Cod sursa(job #1265579)

Utilizator alex72101Sfat Alexandru alex72101 Data 17 noiembrie 2014 14:43:56
Problema Energii Scor 0
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;
    scanf("%d",&n);
    scanf("%d",&g);
    for (i=1;i<=n;i++)
    scanf("%d %d",&e[i],&c[i]);
     
    for (i=1;i<=n;i++)
    for (j=g-e[i];j>=0;j--){
        if (d[j+e[i]]<d[j]+c[i]){
        d[j+e[i]]=d[j]+c[i];
        if (d[j+e[i]]>sol) sol=d[j+e[i]];
        if (sol>=g) {printf("%d",sol);return 0;};
        }
    }
    printf("-1");     
}