Cod sursa(job #1375806)

Utilizator MarcSpataruMarc Spataru MarcSpataru Data 5 martie 2015 14:33:29
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<cstdio>
#include<algorithm>
using namespace std;
struct energii
{
   int energie,cost;
};
energii v[1002];
bool sortare(energii a,energii b)
{
   if(a.energie==b.energie)
      return a.cost<b.cost;
   return a.energie>b.energie;
}
int main()
{
   freopen("energii.in","r",stdin);
   freopen("energii.out","w",stdout);
   int G,W,contor;
   scanf("%d%d",&G,&W);
   for(contor=1;contor<=G;contor++)
      scanf("%d%d",&v[contor].energie,&v[contor].cost);
   sort(v+1,v+G+1,sortare);
   int sumae=0,sumac=0;
   for(contor=1;contor<=G;contor++)
   {
      sumae+=v[contor].energie;
      sumac+=v[contor].cost;
      if(sumae>W)
         break;
   }
   printf("%d",sumac);
   return 0;
}