Pagini recente » Cod sursa (job #1425495) | Cod sursa (job #1602428) | Cod sursa (job #2748285) | Cod sursa (job #2799806) | Cod sursa (job #1646224)
#include<cstdio>
#include<algorithm>
using namespace std;
struct camion{int c,t;};
camion v[100001];
int vc[100001];
bool cmp(int a,int b){
if(a>b)
return true;
else
return false;
}
int main(){
int n,m,l1,l2,i,s,k,mij;
freopen("garaj.in","r",stdin);
freopen("garaj.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++){
scanf("%d%d",&v[i].c,&v[i].t);
}
l1=1;
l2=100000;
while(l1<=l2){
mij=(l1+l2)/2;
s=0;
for(i=1;i<=n;i++)
s+=(mij/v[i].t)*v[i].c;
if(s>=m){
k=mij;
l2=mij-1;
}else
l1=mij+1;
}
for(i=1;i<=n;i++)
vc[i]=(k/v[i].t)*v[i].c;
sort(vc+1,vc+n+1,cmp);
s=0;
i=1;
while(s<m){
s+=vc[i];
i++;
}
printf("%d %d",2*k,i-1);
return 0;
}