Cod sursa(job #792457)

Utilizator stefan_robertStefan Robert stefan_robert Data 27 septembrie 2012 12:37:38
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<fstream>
using namespace std;
int main()
{
	ifstream fin("rucsac.in");
	ofstream fout("rucsac.out");
	int n,max,ob[3][10001],i,ok,aux,auxx,s=0,val=0;
	fin>>n>>max;
	for(i=1;i<=n;i++)
		fin>>ob[1][i]>>ob[2][i];
	fin.close();
	for(i=1;i<=n;i++)
		fout<<ob[1][i]<<' '<<ob[2][i]<<endl;
	fout<<endl;
	do{
		ok=1;
		for(i=1;i<n;i++)
			if(ob[2][i]<ob[2][i+1])
			{
				aux=ob[1][i];
				auxx=ob[2][i];
				ob[1][i]=ob[1][i+1];
				ob[2][i]=ob[2][i+1];
				ob[1][i+1]=aux;
				ob[2][i+1]=auxx;
				ok=0;
			}
	}while(ok==0);
	for(i=1;i<=n;i++)
		fout<<ob[1][i]<<' '<<ob[2][i]<<endl;
	for(i=1;i<=n&&s<=max;i++)
	{
		s+=ob[1][i];
		if(s<=max)
			val+=ob[2][i];
	}
	fout<<val<<endl;
	fout.close();
	return 0;
}