Cod sursa(job #370221)

Utilizator vladiiIonescu Vlad vladii Data 30 noiembrie 2009 15:56:50
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <iostream>
#include <fstream>
using namespace std;
int main() {
    fstream f1, f2;
    int g, w, s, t, i, j, p, q, k, min=99999999, c[50001];
    for(i=0; i<=50002; i++) {
         c[i]=99999999;
    } c[0]=0;
    f1.open("energii.in", ios::in);
    f1>>g>>w;
    for(i=1; i<=g; i++) {
         f1>>p>>q;
         for(j=w-1; j>=0; j--) {
              s=j+p;
              t=c[j]+q;
              if(s>=w) {
                   if(t<min) {
                        min=t;
                   }
              }
              else if(s<w) {
                   if(t<c[s]) {
                        c[s]=t;
                   }
              }
         }
    }
    f1.close();
    f2.open("energii.out", ios::out);
    if(min==99999999) { f2<<-1<<endl; }
    else { f2<<min<<endl; }
    f2.close();
    return 0;
}