Cod sursa(job #1121745)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 25 februarie 2014 13:55:15
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include<fstream>
#include<algorithm>
using namespace std;
int i,j,G,s,aux,n,t;
struct rucs
{
    int st,dr;
};
rucs a[5001];
int cmp(rucs a,rucs b)
{
    if(a.st!=b.st)
    return a.st>b.st;
    else
    return a.dr>b.dr;
}
int main()
{
    ifstream f("rucsac.in");
    ofstream g("rucsac.out");
    f>>n>>G;
    for(i=1;i<=n;i++)
    f>>a[i].st>>a[i].dr;
    sort(a+1,a+1+n,cmp);
    for(i=1;i<=n&&G>0;i++)
    {
        G-=a[i].st;
        s+=a[i].dr;
        t=i;
    }
    if(G<0)
    s-=a[t].dr;
    g<<s;
    return 0;
}