Cod sursa(job #1708380)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 26 mai 2016 23:09:28
Problema Energii Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<cstdio>
#include<algorithm>
using namespace std;
typedef struct tip
{
  int E,C;
};
tip v[1005];
bool comp(tip a,tip b)
{
    float x=(a.E*(1.0))/a.C;
    float y=(b.E*(1.0))/b.C;
    if (x>y) return 1;
        else
    return 0;
}
int n,w,cost;
int main()
{
    freopen("energii.in","r",stdin);
    freopen("energii.out","w",stdout);
    scanf("%d",&n);
    scanf("%d",&w);
    for(int i=1;i<=n;i++)
    {
        scanf("%d%d",&v[i].E,&v[i].C);
    }
    sort(v+1,v+n+1,comp);
    int e=0;
    int i=1;
    while (e<w && i<=n)
    {
        e+=v[i].E;
        cost+=v[i].C;
        i++;
    }
    if (e<w && i>n) printf("-1\n");
        else printf("%d\n",cost);
    return 0;
}