Pagini recente » Cod sursa (job #2435590) | Cod sursa (job #743451) | Istoria paginii preoni-2008/clasament/runda-4/10 | Cod sursa (job #3197686) | Cod sursa (job #458899)
Cod sursa(job #458899)
#include<stdio.h>
#include<stdlib.h>
int g,w,e[10001],c[10001];
int castig[10001][10001];
int main(){
int i,j,cost=0;
FILE *fin=fopen("energii.in","r");
fscanf(fin,"%d",&g);
fscanf(fin,"%d",&w);
for(i=1;i<=g;i++)
fscanf(fin,"%d %d",&e[i],&c[i]);
int sum=0;
for(i=1;i<=g;i++)
{
sum+=e[i];
cost+=c[i];}
for(i=0;i<=cost;i++)
for(j=0;j<=g;j++){
if((i==0)||(j==0))
castig[i][j]=0;
else{
if(castig[i-1][j-c[i]]+e[i]>castig[i-1][j])
castig[i][j]=castig[i-1][j-c[i]]+e[i];
else
castig[i][j]=castig[i-1][j];
}
}
FILE *fout=fopen("energii.out","w");
if(sum<w)
fprintf(fout,"-1\n");
for(i=0;i<=g;i++){
for(j=0;j<=cost;j++)
printf("%d ",castig[i][j]);
printf("\n");
}
return 0;
}