Cod sursa(job #1118509)

Utilizator stoicastefanstoica stefan stoicastefan Data 24 februarie 2014 11:41:05
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;
struct cas
{
	int g,p;
};
int main()
{
	cas a[100001];
	int n,gmax,i,pmax=0,sortat,c;
	ifstream f("rucsac.in");
	ofstream g("rucsac.out");
	f>>n>>gmax;
	for(i=1;i<=n;i++)
	{
		f>>a[i].g>>a[i].p;
	}
	f.close();
	do
	{
		sortat=1;
		for(i=1;i<n;i++)
			if(a[i].p<a[i+1].p)
			{
				c=a[i].p;a[i].p=a[i+1].p;a[i+1].p=c;
				c=a[i].g;a[i].g=a[i+1].g;a[i+1].g=c;
				sortat=0;
			}
	}while(sortat==0);
	for(i=1;i<=n;i++)
	{
		if(gmax-a[i].g>=0)
		{
			gmax-=a[i].g;
			pmax+=a[i].p;
		}
	}
	g<<pmax;
	g.close();
	return 0;
}