Cod sursa(job #1905614)

Utilizator andreigeorge08Sandu Ciorba andreigeorge08 Data 6 martie 2017 09:42:52
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
struct dp{
    int g,p;
};
dp a[5005];
int n,G;
void Citire()
{
    fin>>n>>G;
    for(int i=1;i<=n;i++)
        fin>>a[i].g>>a[i].p;
}
void Sort()
{
    for(int i=1;i<n;i++)
        for(int j=i+1;j<=n;j++)
            if(a[i].g>a[j].g)
                swap(a[i],a[j]);
}
void Rez()
{
    int i=1;
    int greut=a[1].g;
    int sum=a[1].p;
    for(int i=1;i<=n;i++)
        fout<<a[i].g<<" "<<a[i].p<<"\n";
    while(greut+a[i].g<=G)
    {
        greut+=a[i].g;
        sum+=a[i].p;
        i++;
    }
    fout<<sum<<"\n";
}
int main()
{
    Citire();
    Sort();
    Rez();
    return 0;
}