Cod sursa(job #2386060)

Utilizator VladTZYVlad Tiganila VladTZY Data 22 martie 2019 09:20:51
Problema Garaj Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>
#include <algorithm>

#define TMAX 1000000000
#define NMAX 100005

using namespace std;

ifstream f("garaj.in");
ofstream g("garaj.out");

int n,c[NMAX],t[NMAX],m,a[NMAX];
int i,j,mid,sum;

int verif(int x)
{
    int s=0;
    for(int i=1;i<=n;i++)
    {
        s+=c[i]*(x/t[i]);
        if(s>=m)
            return 0;
    }
    return 1;
}
int main()
{
   f>>n>>m;
    for(i=1;i<=n;i++)
        f>>c[i]>>t[i];
    long long i,j;
    i=1;j=TMAX;
    while(i<=j)
    {
        mid=(i+j)/2;
        if(verif(mid)==0)
            j=mid-1;
        else
            i=mid+1;
    }
    g<<i*2<<" ";
    j=i;sum=0;
    for(i=1;i<=n;i++)
        a[i]=c[i]*(j/t[i]);
    sort(a+1,a+n+1);
    for(i=n;i>=1;i--)
    {
        sum+=a[i];
        if(sum>=m)
            break;
    }
    g<<n-i+1;
    return 0;
}