Pagini recente » Cod sursa (job #2371230) | Cod sursa (job #2610976) | Cod sursa (job #1716710) | Cod sursa (job #2669002) | Cod sursa (job #1061381)
#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int w,g,i,j,a[100],p[100],mat[100][100];
int mic(int a,int b)
{
if(a<b) return a;
else return b;
}
int main()
{
int inf=9999999;
FILE*f;
f=fopen("energii.in","r");
fscanf(f,"%d%d",&g,&w);
for(i=0;i<g;i++)
fscanf(f,"%d%d",&a[i],&p[i]);
fclose(f);
for(i=0;i<=g;i++)
for(j=1;j<=w;j++)
mat[i][j]=inf;
for(i=1;i<=g;i++)
for(j=1;j<=w;j++)
if(a[i]<=j) mat[i][j]=mic(p[i]+mat[i-1][j-p[i]],mat[i-1][j]);
else mat[i][j]=mic(p[i],mat[i-1][j]);
FILE*h;
h=fopen("energii.out","w");
if(mat[g][w]!=inf)
fprintf(h,"energii.out",mat[g][w]);
else fprintf(h,"energii.out",-1);
fclose(h);
return 0;
}