Mai intai trebuie sa te autentifici.
Cod sursa(job #95043)
Utilizator | Data | 26 octombrie 2007 23:04:29 | |
---|---|---|---|
Problema | Energii | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.66 kb |
#include <fstream>
#include <iostream>
using namespace std;
int maxv = 10000010;
int ee[1001];
int cg[1001];
int g;
int w;
void process(int start, int c, int e)
{
if(start > g)
return;
if(e >= w)
{
if(c<maxv)
maxv = c;
return;
}
if(c >= maxv)
return;
for(int i=start;i<g;++i)
process(i+1, c+cg[i], e+ee[i]);
}
int main(void)
{
ifstream in;
ofstream out;
in.open("energii.in");
out.open("energii.out");
in >> g;
in >> w;
for(int i=0;i<g;++i)
{
int ee1, cg1;
in >> ee1 >> cg1;
ee[i] = ee1;
cg[i] = cg1;
}
in.close();
process(0, 0, 0);
out << maxv << endl;
out.close();
return 0;
}