Cod sursa(job #3209070)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 1 martie 2024 20:19:11
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 L long long
#define P pair<L,L>
L n,m,i,u,v=1e18,w,s;
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;
}