Cod sursa(job #585857)

Utilizator swift90Ionut Bogdanescu swift90 Data 30 aprilie 2011 12:16:43
Problema Fabrica Scor 20
Compilator cpp Status done
Runda Algoritmiada 2011, Runda Finală, Open Marime 0.85 kb
#include<stdio.h>
#include<queue>
using namespace std;
typedef pair<long long,int> PLI;
//typedef pair<int,PLI> PIP;
//priority_queue<PIP,vector<PIP>,greater<PIP> > Ao,B0;
priority_queue<PLI,vector<PLI>,greater<PLI> > A,B;
/*struct rezolvafd{
	long long timp;
	int dur;
}*/
long long nra[100100],nrb[100100];
int N,Na,Nb,T;
int main(){
	freopen("fabrica.in","r",stdin);
	freopen("fabrica.out","w",stdout);
	int i,x,y;
	scanf("%d%d%d",&N,&Na,&Nb);
	for(i=0;i<Na;++i){
		scanf("%d",&x);
		A.push(PLI(x,x));
	}
	for(i=0;i<Nb;++i){
		scanf("%d",&x);
		B.push(PLI(x,x));
	}
	for(i=1;i<=N;++i){
		x=A.top().first;
		y=A.top().second;
		A.pop();
		nra[i]=x;
		A.push(PLI((long long)(x+y),y));
	}
	printf("%lld ",nra[N]);
	
	/*for(i=1;i<=N;++i){
		x=B.top().first;
		y=B.top().second;
		*/
	
	fclose(stdin);
	fclose(stdout);
	return 0;
}