Pagini recente » Cod sursa (job #38504) | Cod sursa (job #1074876) | Cod sursa (job #2832518) | Cod sursa (job #2058107) | Cod sursa (job #2910902)
#include <fstream>
#include <algorithm>
#define DIM 100001
using namespace std;
ifstream fin("garaj.in");
ofstream fout("garaj.out");
int n,m,i,st,dr,mid,s,c[DIM],t[DIM],v[DIM];
int main() {
fin>>n>>m;
for (i=1;i<=n;i++) {
fin>>c[i]>>t[i];
t[i]*=2;
dr=max(dr,m/c[i]*t[i]);
}
st=1;
while (st<=dr) {
mid=(st+dr)/2;
s=0;
for (i=1;i<=n && s<m;i++)
s+=mid/t[i]*c[i];
if (s<m)
st=mid+1;
else
dr=mid-1;
}
fout<<st<<" ";
for (i=1;i<=n;i++)
v[i]=st/t[i]*c[i];
sort(v+1,v+n+1,greater<int>());
s=0;
for (i=1;i<=n && s<m;i++)
s+=v[i];
fout<<i-1;
return 0;
}