Cod sursa(job #2408420)

Utilizator mihnea.anghelMihnea Anghel mihnea.anghel Data 17 aprilie 2019 22:31:14
Problema Fabrica Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <set>

using namespace std;
ifstream f("fabrica.in");
ofstream g("fabrica.out");
int n,nra, nrb,i,valinit,val, a[100100], b[100100],sol,x;
multiset < pair <int, int > > s;

void solve (int nr, int is, int iF, int A[]){
	for(i=1; i<=nr; i++){
		f>>x;
		s.insert (make_pair(x,x));
	}
	int k;
	if(is<iF) k=1;
	else k=-1; 
	for( i=is; i!=iF+k; i+=k){
		A[i]= s.begin() -> first;
		valinit=s.begin()->second;
		val = A[i] + valinit;
		s.erase(s.begin());
		s.insert(make_pair(val, valinit));
	}
}


int main()
{
	f>>n>>nra>>nrb;
	solve (nra, 1, n, a);
	g<<a[n]<<" ";
	while(!s.empty()) s.erase (s.begin());
	solve (nrb, n, 1, b);
	
	for(i=1; i<=n;i++) sol=max(sol, a[i]+b[i]);
	g<<sol;
	
	return 0;
}