Cod sursa(job #2526890)

Utilizator betybety bety bety Data 19 ianuarie 2020 12:25:37
Problema Fabrica Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("fabrica.in");
ofstream cout("fabrica.out");
int va[50005],vb[50005];
int v[50005],intarziere[50005],maxx[50005];
int main()
{
    int n,na,nb;
    cin>>n>>na>>nb;
    for(int i=1;i<=na;++i)
        cin>>va[i];
    for(int i=1;i<=nb;++i)
        cin>>vb[i];
    sort(va+1,va+na+1);
    sort(vb+1,vb+nb+1);
    for(int i=1;i<=n;++i)
    {
        int ind=1;
        while(v[ind]+va[ind]>v[ind+1]+va[ind+1] and ind<na)
            ++ind;
        v[ind]+=va[ind];
        intarziere[i]=v[ind];
    }
    int maxim=0;
    for(int i=1;i<=na;++i)
        maxim=max(maxim,v[i]);
    cout<<maxim<<" ";
    sort(intarziere+1,intarziere+n+1);
    for(int i=1;i<=nb;++i)
        v[i]=0x7fffffff;
    for(int i=n;i>=1;--i)
    {
        int ind=1;
        while(intarziere[i]+vb[ind]>v[ind] and ind<nb)
            ++ind;
        if(v[ind]==0x7fffffff)
            maxx[ind]=intarziere[i]+vb[ind];
        v[ind]=intarziere[i];
    }
    maxim=0;
    for(int i=1;i<=nb;++i)
    if(maxx[i]!=0)
        maxim=max(maxim,maxx[i]);
    cout<<maxim;
    return 0;
}