Pagini recente » Statistici Bivolan Dalina-Elena (dalina1234) | Cod sursa (job #1196784) | Cod sursa (job #1531680) | Cod sursa (job #2783253) | Cod sursa (job #742740)
Cod sursa(job #742740)
#include <fstream>
#include <vector>
#include <iostream>
#include <math.h>
#include <stdio.h>
#include <cstring>
using namespace std;
int n;
pair<int, int> p;
vector<pair<int, int> > v;
ifstream fin("energii.in");
ofstream fout("energii.out");
int energie_necesara, cost_minim;
void bkt(int cost_curent, int energie_curenta, int poz)
{
if(cost_curent<cost_minim && energie_curenta>=energie_necesara)
cost_minim = cost_curent;
else
for(int i=poz+1;i<n;i++)
{
cost_curent+=v[i].second;
energie_curenta+=v[i].first;
bkt(cost_curent, energie_curenta,i);
cost_curent-=v[i].second;
energie_curenta-=v[i].first;
}
}
int main()
{
int energ, cost;
fin>>n;
fin>>energie_necesara;
cost_minim = 10001;
for(int i=0;i<n;i++)
{
fin>>energ>>cost;
p = make_pair(energ, cost);
v.push_back(p);
}
bkt(0, 0, 0);
fout<<cost_minim;
return 0;
}