Cod sursa(job #1846357)

Utilizator SanduStefaniaSandu Stefania Iulia SanduStefania Data 12 ianuarie 2017 16:27:33
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int w[100],p[100],ob[100],i,j,n,gr,gc,s;
void ord()
{
    int i,j;
    for (i=1;i<n;i++)
    for (j=i+1;j<=n;j++) if (w[i]<w[j]) swap(w[i],w[j]),swap(p[i],p[j]),swap(ob[i],ob[j]);
                        else if (w[i]==w[j] && p[i]<p[j]) swap(w[i],w[j]),swap(p[i],p[j]),swap(ob[i],ob[j]);
}
int main()
{
    f>>n>>gr;
    for (i=1;i<=n;i++) f>>w[i]>>p[i],ob[i]=i;
    ord();
    gc=0; s=0;
    for (i=1;i<=n;i++) if (gc+w[i]<=gr) s+=p[i],gc+=w[i];
    g<<s;
    return 0;
}