Cod sursa(job #2910903)

Utilizator biancalautaruBianca Lautaru biancalautaru Data 25 iunie 2022 18:00:45
Problema Garaj Scor 100
Compilator cpp-64 Status done
Runda 3_iulie Marime 0.73 kb
#include <fstream>
#include <algorithm>
#define DIM 100001
using namespace std;
ifstream fin("garaj.in");
ofstream fout("garaj.out");
int n,m,i,st,dr,mid,s,c[DIM],t[DIM],v[DIM];
int main() {
    fin>>n>>m;
    for (i=1;i<=n;i++) {
        fin>>c[i]>>t[i];
        t[i]*=2;
        dr=max(dr,m/c[i]*t[i]);
    }
    st=1;
    while (st<=dr) {
        mid=(st+dr)/2;
        s=0;
        for (i=1;i<=n && s<m;i++)
            s+=mid/t[i]*c[i];
        if (s<m)
            st=mid+1;
        else
            dr=mid-1;
    }
    fout<<st<<" ";
    for (i=1;i<=n;i++)
        v[i]=st/t[i]*c[i];
    sort(v+1,v+n+1,greater<int>());
    s=0;
    for (i=1;i<=n && s<m;i++)
        s+=v[i];
    fout<<i-1;
    return 0;
}