Pagini recente » Cod sursa (job #2430378) | Cod sursa (job #1585154) | Cod sursa (job #342882) | Cod sursa (job #525043) | Cod sursa (job #1535185)
#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].c)/S[i].e;
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=1;
ok=1;
s=0;
while(s<m && ok!=0)
{
if(i==n)
ok=0;
k=k+S[i].c;
s=s+S[i].e;
i++;
}
g<<k;
f.close();
g.close();
return 0;
}