Pagini recente » Cod sursa (job #2056955) | Cod sursa (job #2931436) | Cod sursa (job #2974911) | Cod sursa (job #1840573) | Cod sursa (job #1098965)
#include <fstream>
#define Nmax 40
//TODO declara mask local cu 2^n
int n, mask[Nmax], w;
struct reactor {
int e,c;
} v[Nmax];
int next(int mask[]) {
int i ;
for (i = 0 ; i < n && mask[i]; i ++)
mask[i] = 0;
if (i < n) {
mask[i] = 1;
return 1;
}
return 0;
}
void print(int mask[]) {
for (int i = 0 ; i < n ; i ++)
printf("%d ", mask[i]);
printf("\n");
}
int main()
{
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
scanf("%d", &n);
scanf("%d", &w);
for (int i = 0 ; i < n ; i++) {
scanf("%d %d", &v[i].e, &v[i].c);
}
int et = 0;
int ct = 0;
while (next(mask)) {
et=ct=0;
for (int i = 0 ; i < n ; i ++)
if (mask[i]) {
et += v[i].e;
ct += v[i].c;
}
if (et == w) {
printf("%d", ct);
break;
}
}
return 0;
}