Pagini recente » Istoria paginii utilizator/malex24 | Statistici pirvu constantin catalin (lasto) | Cod sursa (job #2113803) | Monitorul de evaluare | Cod sursa (job #1308675)
#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;
}