Pagini recente » Istoria paginii runda/tpnr9/clasament | Cod sursa (job #873640) | Cod sursa (job #210864) | Cod sursa (job #1645707) | Cod sursa (job #2023232)
#include <iostream>
#include <fstream>
#include <set>
#define NMAX 100005
using namespace std;
ifstream si("fabrica.in");
ofstream so("fabrica.out");
int a[NMAX],b[NMAX],d1[NMAX],d2[NMAX],n;
multiset< pair<int,int> > s;
void solve(int v[],int a[],int nx)
{
int i;
for(i=1;i<=nx;++i)
s.insert(make_pair(a[i],a[i]));
for(i=1;i<=n;++i)
{
v[i]=s.begin()->first;
s.insert(make_pair(s.begin()->first+s.begin()->second,s.begin()->second));
s.erase(s.begin());
}
s.erase(s.begin(),s.end());
}
int main()
{
int na,nb;
si>>n>>na>>nb;
for(int i=1;i<=na;++i)
si>>a[i];
for(int i=1;i<=nb;++i)
si>>b[i];
solve(d1,a,na);
solve(d2,b,nb);
int i,sol=0;
for(i=1;i<=n;++i)
sol=max(sol,d1[i]+d2[n-i+1]);
so<<d1[n]<<' '<<sol<<'\n';
return 0;
}