Cod sursa(job #2610445)

Utilizator robert.barbu27robert barbu robert.barbu27 Data 4 mai 2020 21:21:09
Problema Fabrica Scor 100
Compilator cpp-64 Status done
Runda antrenament_ Marime 1.15 kb
#include <iostream>
#include <bits/stdc++.h>
#define nmax 100005
using namespace std;
ifstream f("fabrica.in");
ofstream g("fabrica.out");
set<pair<int,int> >s;
set<pair<int,int> > :: iterator it;
int n,nra,nrb,a[nmax],sola[nmax],solb[nmax],b[nmax],solmin=0;
int main()
{
    f>>n>>nra>>nrb;
    for(int i=1;i<=nra;i++)
    {
        f>>a[i];
        s.insert({a[i],i});
        ///simulam evenimentele
    }
    ///calculam timpul minim pt procesorul a
    for(int i=1;i<=n;i++)
    {
        it=s.begin();
        int timp=it->first;
        int idx=it->second;
        sola[i]=timp;
        s.erase(it);
        s.insert({timp+a[idx],idx});
    }
    ///task1
    g<<sola[n]<<" ";
    s.clear();
    ///calculam timpul minim pt procesorul b
    for(int i=1;i<=nrb;i++)
    {
        f>>b[i];
        s.insert({b[i],i});
    }
    for(int i=1;i<=n;i++)
    {
        it=s.begin();
        int timp=it->first;
        int idx=it->second;
        solb[i]=timp;
        s.erase(it);
        s.insert({timp+b[idx],idx});
    }
    for(int i=1;i<=n;i++)
    {
        solmin=max(solmin,sola[i]+solb[n-i+1]);
    }
    g<<solmin;
}