Pagini recente » Cod sursa (job #1924989) | Cod sursa (job #2542165) | Cod sursa (job #2304344) | Cod sursa (job #1065641) | Cod sursa (job #941112)
Cod sursa(job #941112)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("garaj.in");
ofstream fout ("garaj.out");
struct camioane {
int a;
int b;
};
camioane v[100010];
int n,m,i,j,p,u,mij,nrc,a[100010],ok,t;
int main () {
fin>>n>>m;
for (i=1;i<=n;i++)
fin>>v[i].a>>v[i].b;
p=1;u=2*m;
while (p<=u) {
mij=p+(u-p)/2; t=mij; ok=0;
j=m;
for(i=1; i<=n; i++){
j-=(t/(v[i].b<<1))*v[i].a;
if(j<1) ok=1;
}
if (ok==1)
u=mij-1;
else
p=mij+1;
}
fout<<p<<" ";
for(i=1; i<=n; i++)
a[i]=(p/(v[i].b<<1))*v[i].a;
sort(a+1, a+n+1);
nrc=0;
j=m;
for(i=n;i>0;i--){
j -= a[i];
nrc++;
if(j<1) break;
}
fout<<nrc<<"\n";
return 0;
}