Cod sursa(job #1265130)

Utilizator alex72101Sfat Alexandru alex72101 Data 16 noiembrie 2014 19:21:11
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<string.h>
#include<stdio.h>
#include<vector>
#include<algorithm>
#define maxn 5001
#define maxg 10001
 
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",&c[i],&e[i]);
    
    for (i=1;i<=n;i++)
    for (j=g-c[i];j>=0;j--){
    	if (d[j+c[i]]<d[j]+e[i]){
    	d[j+c[i]]=d[j]+e[i];
		if (d[j+c[i]]>sol) sol=d[j+c[i]];
		}
    }
    if (sol>g) printf("%d",sol);
    	else printf("-1");
    return 0;
    
}