Cod sursa(job #3209062)
Utilizator | Data | 1 martie 2024 20:04:53 | |
---|---|---|---|
Problema | Garaj | Scor | 50 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream F("garaj.in");
ofstream G("garaj.out");
#define P pair<short,short>
int n,m,i;
long long s,u,v=1e18,w;
P a[100000];
bool A(P a,P b)
{
return a.first*b.second>a.second*b.first;
}
int main()
{
for(F>>n>>m;i<n;F>>a[i].first>>a[i].second,a[i].second<<=1,++i);
for(;u<v;s>=m?v=w:u=w+1)
for(s=i=0,w=(u+v)>>1;i<n&&s<m;s+=w/a[i].second*a[i].first,++i);
for(s=i=0,sort(a,a+n,A);i<n&&s<m;s+=u/a[i].second*a[i].first,++i);
return G<<u<<' '<<i,0;
}