Cod sursa(job #1022343)

Utilizator zikade9Irimia Rares zikade9 Data 5 noiembrie 2013 10:30:28
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<cstdio>
using namespace std;
int n,gm,q,s,i,j,ii,max,g[5006],p[5006],x[5006];
int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    scanf("%d%d",&n,&gm);
    for(i=1;i<=n;i++)
    {
        scanf("%d%d",&g[i],&p[i]);
        x[i]=p[i]-g[i];
    }
    for(i=1;i<=n;i++)
    {
        max=-100000;
        q=0;
        for(j=1;j<=n;j++)
            if(max<x[j]&&gm>=g[j])
            {
                q=1;
                max=x[j];
                ii=j;
            }
        if(q==0) break;
        s=s+p[ii];
        gm=gm-g[ii];
        x[ii]=-100009;
    }
    printf("%d",s);
    return 0;
}