Pagini recente » Cod sursa (job #1373606) | Cod sursa (job #2725348) | Cod sursa (job #1210101) | Cod sursa (job #1876119) | Cod sursa (job #1094885)
#include <cstdio>
#define minim(a,b) (a<b)?(a):(b)
#define inf 0xffffffffffffffffLL
using namespace std;
unsigned long long v[55][505];
int n,t;
inline void initv(int n) {
for (int i=0;i<=n+1;i++) for (int j=0;j<=504;j++) v[i][j] = inf;
v[1][0] = 0;
}
int main() {
freopen("calatorie.in","r",stdin);
freopen("calatorie.out","w",stdout);
scanf("%d",&t);
while (t--) {
scanf("%d",&n);
initv(n);
for (int i=2;i<=n;i++) {
unsigned long long l,h;
scanf("%llu %llu",&l,&h);
for (int j=0;j<=500;j++) {
if (v[i-1][j] != inf) {
v[i][j] = minim(v[i][j],v[i-1][j]+l);
v[i][j+h] = minim(v[i][j+h],v[i-1][j]);
}
}
}
unsigned long long fmin = inf;
for (int j=0;j<=501;j++) if (v[n][j] != inf) fmin = minim(fmin,v[n][j]+j*j*j*j);
printf("Consumul minim = %llu.\n",fmin);
}
return 0;
}