Pagini recente » Cod sursa (job #2616591) | Cod sursa (job #524714) | Cod sursa (job #2074133) | Cod sursa (job #2740921) | Cod sursa (job #2068344)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int cost[1010], energie[1010], minc=INT_MAX;
long double ratie[1010];
int n, g;
int main()
{
int i, j, gg, cc;
fin>>n>>g;
for(i=1; i<=n; i++)
{
fin>>energie[i]>>cost[i];
ratie[i]=(long double)(energie[i]/cost[i]);
}
for(i=1; i<=n-1; i++)
for(j=i+1; j<=n; j++)
{
if(ratie[i]>ratie[j])
{
swap(ratie[i],ratie[j]);
swap(energie[i],energie[j]);
swap(cost[i],cost[j]);
}
}
for(i=1; i<=n; i++)
{
gg=energie[i];
cc=cost[i];
j=i+1;
while(gg<g && j<=n)
{
gg+=energie[j];
cc+=cost[j];
j++;
}
if(gg>=g)
minc=min(cc,minc);
}
if(minc!=INT_MAX)
fout<<minc<<'\n';
else
fout<<-1<<'\n';
return 0;
}