Pagini recente » Istoria paginii winter-challenge-2008/clasament/runda-2 | Cod sursa (job #3168137) | Cod sursa (job #1509771) | Cod sursa (job #1109255) | Cod sursa (job #947863)
Cod sursa(job #947863)
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int We[5001];
int main ()
{
int i,j,dmax=0,g,w,eg,cg;
memset(We,-1,sizeof(We));
We[0]=0;
//freopen("energii.in","r",stdin);
//freopen("energii.out","w",stdout);
FILE * fin=fopen("energii.in","r");
FILE * fout=fopen("energii.out","w");
fscanf(fin,"%d%d",&g,&w);
for (i=1;i<=g;i++)
{
fscanf(fin,"%d%d",&eg,&cg);
for (j=dmax;j>=0;j--)
{
if (We[j]>=0)
if (We[j+cg]<We[j]+eg&&j+eg<=5001)
{
We[j+cg]=We[j]+eg;
if (j+cg>dmax)
dmax=j+cg;
}
}
}
dmax=min(dmax,5001);
for (i=0;i<=dmax;i++)
{
if (We[i]>=w)
{
fprintf(fout,"%d\n",i);
break;
}
}
fclose(fin);
fclose(fout);
return 0;
}