Cod sursa(job #3160229)

Utilizator Stefan08Nechifor Stefan Stefan08 Data 23 octombrie 2023 13:14:37
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#include<iostream>
using namespace std;
ifstream  g ("rucsac.in");
ofstream f ("rucsac.out");
int max=0;
int s=0,s1=0;
int n,G;
struct rucsac{
    int g;
    int p;}v[1000];
    struct rez{
    int g1;
    int p1;
    int d;}x[1000];

int afisare()
{
    for(int i=n;i>0;i--)
    {
       s=x[i].g1+s;
       if (s<=G) s1=x[i].p1+s1;

    }
    f<<s1;
}
int main()
{g>>n>>G;
if(n==0 || G==0) f<<0;
else
{
    for(int i=1;i<=n;i++)
    {
        cin>>v[i].g>>v[i].p;
           x[i].d=v[i].p-v[i].g;
           x[i].p1=v[i].p;
           x[i].g1=v[i].g;    }
    for(int i=1;i<=n-1;i++)
{
	for(int j=i+1;j<=n;j++)
	{
		if(x[i].d>x[j].d)
		{
		swap(x[i],x[j]);
		}
	}

}
for(int i=1;i<=n-1;i++)
{
    if(x[i].d==x[i-1].d)
    {
        if(x[i].p1<x[i-1].p1) swap(x[i],x[i-1]);
    }
}
} afisare();


    return 0;
}