Cod sursa(job #2402083)

Utilizator RaduXD1Nicolae Radu RaduXD1 Data 10 aprilie 2019 12:27:37
Problema Fabrica Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream>
#include<algorithm>
#include<queue>
using namespace std;
ifstream fin("fabrica.in");
ofstream fout("fabrica.out");
int l,n,a,b,m,timp,i,ta[50001],tb[50001],v[100001],u[100001],j,sol;
priority_queue<pair<int,int> ,vector<pair<int,int> >,greater<pair<int,int> > >p,q;
int main()
{
    fin>>n>>a>>b;m=0;
    for(i=1;i<=a;i++){fin>>ta[i];p.push(make_pair(ta[i],i));}
    for(i=1;i<=b;i++){fin>>tb[i];q.push(make_pair(tb[i],i));}
    for(j=1;j<=n;j++)
    {
        timp=p.top().first;i=p.top().second;p.pop();
        v[j]=timp;timp+=ta[i];
        p.push(make_pair(timp,i));
    }
    fout<<v[n]<<" ";
    for(j=n;j>=1;j--)
    {
        timp=q.top().first;i=q.top().second;q.pop();
        u[j]=timp;timp+=tb[i];
        q.push(make_pair(timp,i));
    }
    for(i=1;i<=n;i++) sol=max(v[i]+u[i],sol);
    fout<<sol;
    return 0;
}