Pagini recente » Cod sursa (job #3213643) | Cod sursa (job #1180948) | Cod sursa (job #754366) | Cod sursa (job #2774989) | Cod sursa (job #138093)
Cod sursa(job #138093)
#include<stdio.h>
#include<algorithm>
#define NMAX 100205
using namespace std;
long long a,x[NMAX],y[NMAX],n,k,i,in,sf,q,m;
int cmpf2(const long a,const long b)
{
return (a>b);
}
int main()
{
freopen("garaj.in","r",stdin);
freopen("garaj.out","w",stdout);
scanf("%lld%lld",&n,&k);
for (i=1;i<=n;i++)
{
scanf("%lld%lld",&x[i],&y[i]);
y[i]=y[i]*2;
}
in=1;
sf=k;
y[n+1]=m+1;
x[n+1]=0;
while (in<sf)
{
m=(in+sf)/2;
q=0;
for (i=1;i<=n+1&&q<k;i++)
q+=(m/y[i])*x[i];
if (i<=n+1)
sf=m;
else
in=m+1;
}
if (in==sf) m=in;
else
m=sf;
printf("%lld ",m);
for (i=1;i<=n;i++)
x[i]=(m/y[i])*x[i];
sort(x+1,x+n+1,cmpf2);
q=0;
for (i=1;i<=n;i++)
{
q+=x[i];
if (q>=k)
{
a=i;
i=n;
}
}
printf("%lld\n",a);
return 0;
}