Cod sursa(job #671857)

Utilizator marlenIonescu Marlen marlen Data 31 ianuarie 2012 22:36:27
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<iostream>
#include<fstream>
#include<vector>
#include<algorithm>
using namespace std;

struct element
	{int eg, cg;
	double rg;
	}e;
vector<element> v;

bool ordo(element e1, element e2)
{if(e1.rg < e2.rg) return false;
else return true;
}

void afisare(vector<element> v)
{
vector<element>::iterator it;
for(it=v.begin();it!=v.end();++it)
	cout<<it->eg<<" "<<it->cg<<" "<<it->rg<<endl;
}

	
using namespace std;
int main()
{int g,w,i,s=0,en,c;

ifstream f("energii.in");
f>>g>>w;
for(i=1;i<=g;i++)
	{f>>en>>c;
	e.eg=en;
	e.cg=c;
	e.rg=(double)e.eg/e.cg;
	v.push_back(e);
	}

sort(v.begin(), v.end(), ordo);
	
vector<element>::iterator it=v.begin();
while(s<w && it!=v.end())
	{s+=it->eg;
	++it;
	}


ofstream h("energii.out");
h<<s;
h.close();
}