Cod sursa(job #431606)
Utilizator | Savu Victor Gabriel undog | Data | 1 aprilie 2010 10:54:37 |
---|---|---|---|
Problema | Energii | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
using namespace std;
struct generator{
int c,e;
};
int main(){
ifstream in("energii.in");
ofstream out("energii.out");
int n,e;
generator g[1005];
int s[16000];
int i,j;
in>>n>>e;
for(i=0;i<16000;i++){
s[i]=99999999;
}
for(i=0;i<n;i++)
in>>g[i].e>>g[i].c;
for(i=0;i<n;i++)
for(j=e;j>=0;j++){
if(g[i].c+s[j]<s[j+g[i].e])
s[j+g[i].e]=g[i].c+s[j];
if(j+g[i].e>=e&&s[j+g[i].e]<s[e])
s[e]=s[j+g[i].e];
}
if(s[e]<99999999)
out<<s[e];
else
out<<"-1";
return 0;
}