Cod sursa(job #540695)
| Utilizator | Data | 24 februarie 2011 11:37:13 | |
|---|---|---|---|
| Problema | Energii | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include<fstream>
#include<algorithm>
using namespace std;
struct gen
{
int p,c,e;
};
gen a[100];
int g,i,j,w,cost;
long cmp(const gen & a, const gen & b)
{
return a.e<b.e;
}
int main()
{
ifstream fin("energii.in");
ofstream fout("energii.out");
fin>>g;
fin>>w;
for(i=1;i<=g;i++)
{
fin>>a[i].p>>a[i].c;
a[i].e=a[i].p-(a[i].c-a[i].p);
}
sort(a+1,a+g+1,cmp);
for(i=g;i>=1 && w;i--)
{
cost+=a[i].c;
w-=a[i].p;
}
if(w>0)
fout<<-1;
else
fout<<cost;
}
