Pagini recente » Cod sursa (job #2414692) | Cod sursa (job #1824934) | Cod sursa (job #1690759) | Cod sursa (job #405333) | Cod sursa (job #1573120)
# include <fstream>
# include <algorithm>
# define DIM 100010
using namespace std;
ifstream fin("garaj.in");
ofstream fout("garaj.out");
long long s;
int t[DIM],c[DIM],i,n,m,st,dr,mij,trans[DIM],k,nr;
int maxtrans(int r){
long long s=0;
for(int i=1;i<=n;i++){
s+=(r/t[i])*c[i];
}
return s;
}
int main () {
fin>>n>>m;
for(i=1;i<=n;i++){
fin>>c[i]>>t[i];
t[i]*=2;
}
st=1;
dr=(m/c[1])*t[1];
while(st<=dr){
mij=(st+dr)/2;
if(maxtrans(mij)>=m)
dr=mij-1;
else
st=mij+1;
}
fout<<st<<" ";
for(i=1;i<=n;i++){
trans[i]=(st/t[i])*c[i];
}
sort(trans+1,trans+n+1);
k=n;
while(s<=m){
s+=trans[k];
k--;
nr++;
}
fout<<nr;
return 0;
}