Pagini recente » Cod sursa (job #621659) | Cod sursa (job #2693327) | Cod sursa (job #1340105) | Cod sursa (job #3127229) | Cod sursa (job #789266)
Cod sursa(job #789266)
#include <fstream>
#include <queue>
#define NM 100010
using namespace std;
ifstream f("fabrica.in");
ofstream g("fabrica.out");
int N,NA,NB,i,j;
int A[NM],B[NM];
int ANS[NM];
int ANS1;
int C,T;
typedef pair<int,int> PI;
struct QueCMP
{
bool operator () (const PI& a, const PI& b) const
{
return (a.first+a.second)>(b.first+b.second);
}
};
priority_queue<PI, vector<PI>, QueCMP > Q;
int main ()
{
f >> N >> NA >> NB;
for (i=1; i<=NA; i++)
{
f >> A[i];
Q.push(make_pair(A[i],0));
}
for (i=1; i<=N; i++)
{
C=Q.top().first;
T=Q.top().second;
Q.pop();
ANS[i]=T+C;
Q.push(make_pair(C,ANS[i]));
ANS1=max(ANS1,ANS[i]);
}
g << ANS1 << '\n';
f.close();
g.close();
return 0;
}