Pagini recente » Cod sursa (job #1201059) | Cod sursa (job #2323715) | Cod sursa (job #1893595) | Cod sursa (job #2538817) | Cod sursa (job #2386060)
#include <fstream>
#include <algorithm>
#define TMAX 1000000000
#define NMAX 100005
using namespace std;
ifstream f("garaj.in");
ofstream g("garaj.out");
int n,c[NMAX],t[NMAX],m,a[NMAX];
int i,j,mid,sum;
int verif(int x)
{
int s=0;
for(int i=1;i<=n;i++)
{
s+=c[i]*(x/t[i]);
if(s>=m)
return 0;
}
return 1;
}
int main()
{
f>>n>>m;
for(i=1;i<=n;i++)
f>>c[i]>>t[i];
long long i,j;
i=1;j=TMAX;
while(i<=j)
{
mid=(i+j)/2;
if(verif(mid)==0)
j=mid-1;
else
i=mid+1;
}
g<<i*2<<" ";
j=i;sum=0;
for(i=1;i<=n;i++)
a[i]=c[i]*(j/t[i]);
sort(a+1,a+n+1);
for(i=n;i>=1;i--)
{
sum+=a[i];
if(sum>=m)
break;
}
g<<n-i+1;
return 0;
}