Pagini recente » Cod sursa (job #784317) | Cod sursa (job #662750) | Cod sursa (job #2568160) | Cod sursa (job #1838539) | Cod sursa (job #2349059)
#include <iostream>
#include<cmath>
#include<fstream>
using namespace std;
ifstream f ("energii.in");
ofstream g ("energii.out");
struct ele
{
int gr,val;
}v[10001];
int n,s,i,j,maxim,valoare,minim=9999999;
int c[1002][5002];
int main()
{
f>>n>>valoare;
for(i=1;i<=n;i++)
{
f>>v[i].val>>v[i].gr;
if(v[i].gr>maxim)
maxim=v[i].gr;
}
maxim=maxim+valoare;
for(i=1;i<=n;i++)
for(j=1;j<=minim-1;j++)
{
if(j>=v[i].gr && c[i-1][j-v[i].gr]+v[i].val>c[i-1][j])
{
c[i][j]=c[i-1][j-v[i].gr]+v[i].val;
}
else
c[i][j]=c[i-1][j];
if(c[i][j]>=valoare)
minim=j;
}
g<<minim;
}