Cod sursa(job #139152)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 19 februarie 2008 19:31:19
Problema Garaj Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>
#define inf 1000000000

long n,m,i,c[100002],t[100002];
long low,mid,high;
long long cap;

int main(){
    freopen("garaj.in","r",stdin);
    freopen("garaj.out","w",stdout);
    
    scanf("%ld %ld",&n,&m);
    for (i=1;i<=n;i++){
        scanf("%ld %ld",&c[i],&t[i]);
    }
    
    low=1;
    high=inf+1;
    while (low<high){
           mid = (low + high)/2;
           cap=0;
           for (i=1;i<=n;i++)
               cap=(long long)cap+(mid/(2*t[i]))*c[i];
           if (cap <(long long) m)
               low = mid + 1; 
           else
                high = mid; 
    }
       
    //if (low<=inf & cap ==(long long)m)
    printf ("%ld ",low);
    // else
    //    printf ("%ld ",low+1);

return 0;
}