Pagini recente » Cod sursa (job #2910929) | Cod sursa (job #1892039) | Cod sursa (job #435320) | Cod sursa (job #2630654) | Cod sursa (job #894524)
Cod sursa(job #894524)
#include <fstream>
using namespace std;
ifstream f("calatorie.in");
ofstream g("calatorie.out");
int t,n,h[51];
long long v[51],bst[51][100];
void citire()
{
int i;
f>>n;
for(i=1;i<n;i++)
f>>v[i]>>h[i];
}
int main()
{
int i,j,k;
long long rasp;
f>>t;
for(k=1;k<=t;k++)
{
rasp=1073741824;
citire();
for(i=1;i<n;i++)
{
if(v[i]!=0 && h[i]!=0)
{
bst[i][0]=bst[i-1][0]+v[i];
for(j=1;j<=100 &&bst[i][j-1];j++)
{
if(h[i]>j)
bst[i][j]=min(bst[i-1][j]+v[i],bst[i][j-1]);
else
bst[i][j]=min(bst[i-1][j]+v[i], bst[i-1][j-h[i]]);
}
}
else
for(j=0;j<=100 &&bst[i][j-1];j++)
bst[i][j]=bst[i-1][j];
}
for(j=0;j<=100;j++)
{
if(rasp>bst[n-1][j]+j*j*j*j)
rasp=bst[n-1][j]+j*j*j*j;
}
if(n<=1)
g<<"Consumul minim = 0.";
else
g<<"Consumul minim = "<<rasp<<".";
if(k!=t)
g<<endl;
}
return 0;
}