Cod sursa(job #1795060)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 1 noiembrie 2016 22:31:45
Problema Fabrica Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>
#define x first
#define y second
using namespace std;
ifstream f("fabrica.in");
ofstream g("fabrica.out");
multiset<pair <int,int> > s;
int n,d1,d2,i,rez,c1[1<<17],c2[1<<17],a[1<<16],b[1<<16];
void dfs(int c[],int a[],int sz)
{
    for(i=1;i<=sz;++i) s.insert(make_pair(a[i],a[i]));
    for(i=1;i<=n;++i)
    {
        c[i]=(*s.begin()).x;
        s.insert(make_pair((*s.begin()).x+(*s.begin()).y,(*s.begin()).y));
        s.erase(s.begin());
    }
    s.clear();
}
int main()
{
    f>>n>>d1>>d2;
    for(i=1;i<=d1;++i) f>>a[i];
    for(i=1;i<=d2;++i) f>>b[i];
    dfs(c1,a,d1);
    dfs(c2,b,d2);
    for(i=1;i<=n;++i) rez=max(rez,c1[i]+c2[n-i+1]);
    g<<c1[n]<<' '<<rez;
    return 0;
}