Cod sursa(job #585699)

Utilizator GavrilaVladGavrila Vlad GavrilaVlad Data 30 aprilie 2011 11:11:05
Problema Fabrica Scor 20
Compilator cpp Status done
Runda Algoritmiada 2011, Runda Finală, Clasele 10-12 Marime 0.78 kb
#include <stdio.h>

using namespace std;

#define maxn 50010

int n, i, j, k, nra, nrb, left, med, right, sa;
long long nc;
int a[maxn], b[maxn];

int main()
{
    freopen("fabrica.in", "r", stdin);
    freopen("fabrica.out", "w", stdout);

    scanf("%d%d%d", &n, &nra, &nrb);
    for(int i=1; i<=nra; ++i)
        scanf("%d", &a[i]);
    for(int i=1; i<=nrb; ++i)
        scanf("%d", &b[i]);

    left=0;
    right=2000000000;
    while(left<=right)
    {
        med=(1LL*left+right)/2;
        nc=0;
        for(int i=1; i<=nra; ++i)
        {
            nc=nc+med/a[i];
            if(nc>=n)
                break;
        }
        if(nc>=n)
        {
            sa=med;
            right=med-1;
        }
        else
            left=med+1;
    }
    printf("%d %d\n", sa, 0);
    return 0;
}