Cod sursa(job #2165920)

Utilizator Cucu_SpiridonCucu Spiridon Cucu_Spiridon Data 13 martie 2018 14:27:08
Problema Energii Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb

#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
struct gen{
int cost;
int energ;
};
gen t[1001];
int e,n,m,i,j,k,x;
int cmin=1000000000;

bool compare(gen a, gen b)
{
    return a.energ<b.energ||(a.energ==b.energ&&a.cost<b.cost);
}

void calc(int i, int en, int cost)
{
    if(en>=e) cmin=min(cmin,cost);
    else
    {
        for(int j=i+1;j<=n;j++) calc(j,en+t[j].energ,cost+t[j].cost);
    }
}

int main(){
fin>>n;
fin>>e;
for(i=1;i<=n;i++) fin>>t[i].energ>>t[i].cost;
sort(t+1,t+n+1,compare);
for(i=1;i<=n;i++)
   if(t[i].cost<=cmin) calc(i,t[i].energ,t[i].cost);
fout<<cmin;
return 0;
}