Pagini recente » Cod sursa (job #1349351) | Cod sursa (job #1468236) | Cod sursa (job #198272) | Cod sursa (job #2560128) | Cod sursa (job #139159)
Cod sursa(job #139159)
#include <stdio.h>
#define inf 1000000000
long n,m,i,c[100002],t[100002];
long low,mid,high;
long long cap;
int main(){
freopen("garaj.in","r",stdin);
freopen("garaj.out","w",stdout);
scanf("%ld %ld",&n,&m);
for (i=1;i<=n;i++){
scanf("%ld %ld",&c[i],&t[i]);
}
low=1;
high=inf+1;
while (low<high){
mid = (low + high)/2;
cap=0;
for (i=1;i<=n;i++)
cap=(long long)cap+(mid/(2*t[i]))*c[i];
if (cap <(long long) m)
low = mid + 1;
else
high = mid;
}
if (low<=inf & cap ==(long long)m)
printf ("%ld %ld\n",low,n);
else
printf ("%ld ",low);
return 0;
}