Pagini recente » Cod sursa (job #1219290) | Cod sursa (job #514113) | Cod sursa (job #2690463) | Cod sursa (job #278215) | Cod sursa (job #1649939)
#include<cstdio>
#include<algorithm>
using namespace std;
struct aa{int x,y;};
aa v[100001];
int q;
bool sortare(aa a, aa b)
{if(a.x*q/a.y>b.x*q/b.y)
return 1;
return 0;
}
int main ()
{freopen ("garaj.in","r",stdin);
freopen ("garaj.out","w",stdout);
int n,m,i,x,c1,c2,k;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d%d",&v[i].x,&v[i].y);
c1=1;
c2=m;
while(c1<=c2)
{x=(c1+c2)/2;
k=0;
for(i=1;i<=n;i++)
k+=v[i].x*(x/(2*v[i].y));
if(k>=m)
{q=x;
c2=x-1;
}
else
c1=x+1;
}
printf("%d ",q);
sort(v+1,v+n+1,sortare);
k=0;
for(i=1;i<=n;i++)
{k+=v[i].x*q/(2*v[i].y);
if(k>=m)
{printf("%d",i);
return 0;
}
}
return 0;
}