HOJ1062 贪心+优先队列

来源:互联网 发布:java web日志模块设计 编辑:程序博客网 时间:2024/06/06 19:23
#include <cstdio>#include <queue>using namespace std;main(){    int n,i,k;int a[50002];    scanf("%d",&n);    while(n!=0)    {        for (i=1;i<=n;i++) scanf("%d",&a[i]);        priority_queue<int,vector<int >,greater<int> > s;        priority_queue<int,vector<int >,less<int> > r;        for (i=1;i<=n;i++) {s.push(a[i]);r.push(a[i]);};        for (i=1;i<n;i++)        {            k=r.top();r.pop();            k=k*r.top()+1;r.pop();            r.push(k);            k=s.top();s.pop();            k=k*s.top()+1;s.pop();            s.push(k);        }        printf("%d\n",s.top()-r.top());        r.pop();s.pop();        scanf("%d",&n);    } return 0;}
0 0