Pagini recente » Cod sursa (job #1025519) | Cod sursa (job #57864) | Cod sursa (job #1234969) | Cod sursa (job #3221653) | Cod sursa (job #918345)
Cod sursa(job #918345)
#include<stdio.h>
#include<set>
#define maxn 100005
using namespace std;
FILE*f=fopen("fabrica.in","r");
FILE*g=fopen("fabrica.out","w");
int n,na,nb;
int timeA[maxn],timeB[maxn];
multiset< pair<int,int> >H;
inline void compute ( int *time ){
for ( int i = 1 ; i <= n ; ++i ){
pair<int,int>now = (*(H.begin()));
time[i] = now.first;
H.erase(H.begin());
H.insert(make_pair(now.first+now.second,now.second));
}
}
int main () {
fscanf(f,"%d %d %d",&n,&na,&nb);
int x;
for ( int i = 1 ; i <= na ; ++i ){
fscanf(f,"%d",&x);
H.insert(make_pair(x,x));
}
compute(timeA);
H.clear();
for ( int i = 1 ; i <= nb ; ++i ){
fscanf(f,"%d",&x);
H.insert(make_pair(x,x));
}
compute(timeB);
int solA = timeA[n],solB = timeB[n];
for ( int i = 1 ; i <= n ; ++i ){
solB = max(solB,timeA[i]+timeB[n-i+1]);
}
fprintf(g,"%d %d\n",solA,solB);
fclose(f);
fclose(g);
return 0;
}