Pagini recente » Cod sursa (job #2095248) | Cod sursa (job #1626517) | Cod sursa (job #2239546) | Cod sursa (job #1575947) | Cod sursa (job #384761)
Cod sursa(job #384761)
#include<fstream>
using namespace std;
struct gen {
int en,co;
}a[1002];
long long b[5005],s=50000000;
int g,w;
void read();
void solve();
void write();
int main() {
read();
solve();
write();
return 0;
}
void read() {
ifstream fin("energii.in");
fin>>g>>w;
for (int i=0;i<g;i++)
fin>>a[i].en>>a[i].co;
fin.close();
}
void solve() {
long max=0;
b[0]=-1;
for (int i=0;i<w;i++)
b[i]=-1;
b[0]=0;
for (int i=0;i<g;i++)
for (long long j=max;j>=0;j--)
if (b[j]!=-1) {
b[j+a[i].en]=b[j]+a[i].co;
if (j+a[i].en>max && j+a[i].en<w)
max=j+a[i].en;
if (j+a[i].en>=w && b[j]+a[i].co<s)
s=b[j]+a[i].co;
}
}
void write() {
ofstream fout("energii.out");
if (s==50000000)
fout<<-1;
else
fout<<s;
fout.close();
}