Cod sursa(job #499165)

Utilizator paul_gabryelPaul Buda paul_gabryel Data 8 noiembrie 2010 21:56:01
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<vector>
#include<cstdio>
#include<fstream>
#include<algorithm>

using namespace std;

#define m 1001
#define a first
#define b second.first
#define c second.second
#define pb push_back

pair < double , pair < int , int > > v[m];
int n,w;

int main ()
{
	
	ifstream in ("energii.in");
	in>>n>>w;
	for(int x,y,i=1;i<=n;++i){
		in>>x>>y;
		v[i].a=(double)y/x;
		v[i].b=x;
		v[i].c=y;
		}
		in.close();
	sort(v+1,v+n+1);
	int i=1,sol=0;
	for(;w&&i<=n;++i){
		w-=v[i].b;
		sol+=v[i].c;
		}
		freopen ("energii.out","w",stdout);
		if(i<=n)
		printf("%d\n",sol);
		else
		printf("-1\n");
		
	return 0;}