#include<iostream> #include<algorithm> #include<queue> #include<cmath> #include<cstdio> #include<cstring> #define inf 0x3f3f3f3f using namespace std; struct data { int v,e; bool operator<(const data &a)const{return e>a.e;} }; priority_queue<data> q; int s[10009]; int n,m1,m2,v,minn1=-inf,minn2=-inf; bool cmp(int a,int b){return a>b;} int main() { scanf("%d%d%d",&n,&m1,&m2); for (int i=1;i<=m1;i++) scanf("%d",&v),q.push((data){v,v}); for (int i=1;i<=n;i++) { data t=q.top();q.pop(); s[i]=t.e;minn1=max(minn1,s[i]);t.e+=t.v;q.push(t); } while(!q.empty()) q.pop(); sort(s+1,s+n+1,cmp); for (int i=1;i<=m2;i++) scanf("%d",&v),q.push((data){v,v}); for (int i=1;i<=n;i++) { data t=q.top();q.pop(); t.e+=t.v;q.push(t); minn2=max(minn2,s[i]+t.e-t.v); } printf("%d %d\n",minn1,minn2); return 0; }
【USACO4-2-3】工序安排 贪心
猜你喜欢
转载自blog.csdn.net/dadatu_zhao/article/details/80443544
今日推荐
周排行