Cod sursa(job #370167)

Utilizator vladiiIonescu Vlad vladii Data 30 noiembrie 2009 13:48:02
Problema Energii Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
int main() {
    fstream f1, f2;
    int g, w, s, t, i, j, p, q, k, min=99999999;
    //deque <energie, cost> Q;
    deque<pair<int, int> > Q;
    Q.push_back(make_pair(0, 0));
    f1.open("energii.in", ios::in);
    f1>>g>>w;
    for(i=1; i<=g; i++) {
         f1>>p>>q;
         k=Q.size();
         for(j=0; j<k; j++) {
              s=Q[j].first;
              t=Q[j].second;
              s+=p; t+=q;
              if(s>=w && t<min) {
                   min=t;
              }
              if(s<w) {
                   Q.push_back(make_pair(s, t));
              }
         }
    }
    f1.close();
    f2.open("energii.out", ios::out);
    if(min==99999999) { f2<<-1<<endl; }
    else { f2<<min<<endl; }
    f2.close();
    return 0;
}