Pagini recente » Cod sursa (job #10884) | Cod sursa (job #2934703) | Cod sursa (job #3214068) | Cod sursa (job #2250537) | Cod sursa (job #2093572)
#include<bits/stdc++.h>
using namespace std;
ifstream f("garaj.in");
ofstream g("garaj.out");
int n,qt;
int val[100002];
int coef[100002];
int mint=1e9;
struct vct
{
int val,coef;
};
vct v[100002];
bool cmp(vct a, vct b)
{
return (mint/a.coef)*a.val>(mint/b.coef)*b.val;
}
int main()
{
f>>n>>qt;
for(int i=1;i<=n;++i)
{
f>>v[i].val>>v[i].coef;
v[i].coef*=2;
}
int b=1;
int e=1e9;
while(b<=e)
{
int m=(b+e)/2;
int sum=0;
for(int i=1;i<=n && sum<qt;++i)
sum+=v[i].val*(m/v[i].coef);
if(sum>=qt)
mint=m,e=m-1;
else
b=m+1;
}
g<<mint<<" ";
sort(v+1,v+n+1,cmp);
int i=1;
while(qt>0)
{
qt-=v[i].val*(mint/v[i].coef);
++i;
}
g<<i-1;
return 0;
}