Cod sursa(job #1140200)

Utilizator span7aRazvan span7a Data 11 martie 2014 20:06:33
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
struct obiect{int gr,pr;}a[5001];
int n,greutate,profit,i;
int cmp(obiect a,obiect b)
{
    if(a.pr>b.pr)return true;
        else
        if(a.pr==b.pr)
            {if(a.gr>b.gr)return false;}
            else return false;

}
int main()
{
    f>>n>>greutate;
    for(i=1;i<=n;i++)
        f>>a[i].gr>>a[i].pr;
    sort(a+1,a+n+1,cmp);

    for(i=1;i<=n;i++)
        g<<a[i].gr<<" ";
    g<<'\n';
      for(i=1;i<=n;i++)
        g<<a[i].pr<<" ";
    g<<'\n';
   for(i=1;i<=n&&greutate>=0;i++)
   {
       if(greutate-a[i].gr>=0)
            greutate-=a[i].gr,profit+=a[i].pr;
   }

    g<<profit<<'\n';
    return 0;
}