Pagini recente » Cod sursa (job #2805871) | Cod sursa (job #1055461) | iconcurs23 | Cod sursa (job #1126875) | Cod sursa (job #2045115)
#include <fstream>
using namespace std;
ifstream f ("energii.in");
ofstream g ("energii.out");
int n,k,c[1001],e[1001],b[5001],t[5001],i,j,s,a;
int main()
{
f>>n>>k;
for(i=1;i<=n;++i)
f>>e[i]>>c[i];
for(i=n;i>=1&&b[k]==0;--i)
{
b[e[i]]=1;
t[e[i]]=c[i];
for(j=1;j<=k-e[i];++j)
{
if(b[j]&&(b[j+e[i]]==0||b[j+e[i]]>b[j]+1))
{
b[j+e[i]]=b[j]+1;
t[j+e[i]]=c[i];
}
}
}
s=0;
a=k;
while(a>0)
{
s=s+t[a];
a=a-t[a];
}
if(s<k)
g<<-1;
else
g<<s;
return 0;
}