Cod sursa(job #1308675)

Utilizator bogdanboboc97Bogdan Boboc bogdanboboc97 Data 4 ianuarie 2015 16:01:21
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.45 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
vector<int> d;
int e[1005],c[1005];
int main() {
	int n,s,ss=0;
	in>>n>>s;
	for(int i=1;i<=n;i++){ in>>e[i]>>c[i];ss+=e[i]; }
	d=vector<int>(ss+1);
	if(s>ss){ out<<-1;return 0; }
	int sol=numeric_limits<int>::max();
	for(int i=1;i<=n;i++)
	for(int j=ss;j>=e[i];j--)
	{
		d[j]=max(d[j],d[j-e[i]]+c[i]);
		if(d[j]>=s)sol=min(d[j],sol);
	}
	out<<sol;
	return 0;
}