Pagini recente » Cod sursa (job #2594368) | Cod sursa (job #1407384) | Cod sursa (job #1767194) | Cod sursa (job #591113) | Cod sursa (job #1537345)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
struct en
{
int e,c;
double r;
};
int ordo1(en A, en B)
{
return(A.r<B.r);
}
/*int ordo2(en A, en B)
{
return(A.e>B.e);
}*/
int n,i,m,k,s,ok;
en S[1001];
int main()
{
f>>n>>m;
for(i=1;i<=n;i++)
{
f>>S[i].e>>S[i].c;
S[i].r=((double)S[i].e)/S[i].c;
s=s+S[i].e;
}
if(s<m)
{
g<<"-1";
f.close();
g.close();
return 0;
}
///sort(S+1,S+n+1,ordo2);
sort(S+1,S+n+1,ordo1);
///for(i=1;i<=n;i++)
///g<<S[i].e<<" "<<S[i].c<<" "<<S[i].r<<'\n';
i=n;
ok=1;
s=0;
while(s<m && ok!=0)
{
if(i==1)
ok=0;
k=k+S[i].c;
s=s+S[i].e;
i--;
}
g<<k;
f.close();
g.close();
return 0;
}