Pagini recente » Cod sursa (job #2441310) | Istoria paginii runda/horatiu01 | Istoria paginii runda/concurs/clasament | Istoria paginii runda/wellcodesimulareclasa11-12-12martie/clasament | Cod sursa (job #1308674)
#include <bits/stdc++.h>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int d[100001],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]; }
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;
}