Cod sursa(job #871153)

Utilizator beldeabogdanBogdan Beldea beldeabogdan Data 4 februarie 2013 15:36:42
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
#define inf 10002
using namespace std;
ifstream input("energii.in");
ofstream output("energii.out");
int n,k,a[1001],c[1001],b[10001];

int main() {
    int i,j;
    input >> n >> k;
    for(i=1;i<=n;i++) input >> a[i] >> c[i];
    for(i=1;i<=k;i++) b[i]=2000000000;
    for(i=1;i<=n;i++) {
        for(j=k;j-a[i]>=0;j--) if(b[j-a[i]]+c[i]<b[j]) b[j]=b[j-a[i]]+c[i];
        for(j=1;j<a[i];j++) if(c[i]<b[j]) b[j]=c[i];
    }
    if(b[k]==2000000000) output << -1;
    else output << b[k];
    return 0;
}