Pagini recente » Cod sursa (job #489396) | Statistici Beuka Bianka (BiankaBia) | Cod sursa (job #1130076) | Cod sursa (job #2258573) | Cod sursa (job #1369136)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("garaj.in");
ofstream g("garaj.out");
int N,M,C[100005],T[100005],result;
void Read()
{
f>>N>>M;
for(int i=1;i<=N;i++)
f>>C[i]>>T[i];
}
bool Check(int time)
{
long long res=0;
for(int i=1;i<=N;i++)
res+=(time/(2*T[i]))*C[i];
return res>=M;
}
void binSearch()
{
int left=1,right=1000000000,mid,sol;
while(left<=right)
{
mid=(left+right)/2;
if(Check(mid)==0)
left=mid+1;
else
{
right=mid-1;
sol=mid;
}
}
result=sol;
g<<sol<<" ";
}
void Truck()
{
for(int i=1;i<=N;i++)
T[i]=(result/(2*T[i]))*C[i];
sort(T+1,T+N+1);
long long sum=0;
for(int i=N;i>=1;i--)
{
sum+=T[i];
if(sum>=M)
{
g<<N-i+1<<"\n";
break;
}
}
}
int main()
{
Read();
binSearch();
Truck();
return 0;
}