Cod sursa(job #586100)

Utilizator elfusFlorin Chirica elfus Data 30 aprilie 2011 13:42:25
Problema Fabrica Scor 0
Compilator cpp Status done
Runda Algoritmiada 2011, Runda Finală, Clasele 5-9 Marime 0.71 kb
#include<stdio.h>
#define LMAX 100100
int n,A[LMAX],B[LMAX];

long long get_max(int val)
{
    int i;
    long long s=0;
    for(i=1;i<=n;i++)
    {
        s+=val/A[i];
        if(s>n)
            return s+1;
    }
    return s;
}

int main()
{
    int last=-1,i;
    long long val;
    
    freopen("fabrica.in","r",stdin);
    freopen("fabrica.out","w",stdout);

    scanf("%d",&n);
    for(i=1;i<=n;i++)
        scanf("%d",&A[i]);
    for(i=1;i<=n;i++)
        scanf("%d",&B[i]);
    int st=1,dr=2147483640,m;
    while(st<=dr)
    {
        m=(st+dr)/2;
        val=get_max(m);
        if(val>=n)
            last=m,dr=m-1;
        if(val<n)
            st=m+1;
    }
    printf("%d %d",last,last+1);
    return 0;
}