Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
133815 | mairuisheng | 数列极差问题 | C++ | 运行出错 | 0 | 0 MS | 252 KB | 581 | 2024-03-02 09:33:43 |
#include<bits/stdc++.h> using namespace std; priority_queue<int> qmax; priority_queue<int,vector<int>, greater<int> > qmin; long long n,a[50005]; int main() { while(1) { scanf("%lld",&n); if(n<=0) { return 0; } for(int i=1,temp;i<=n;++i) scanf("%lld",&temp),qmax.push(temp),qmin.push(temp); for(int i=1;i<n;++i) { int maxx=qmax.top(); qmax.pop(); maxx*=qmax.top(); qmax.pop(); qmax.push(maxx+1); int minn=qmin.top(); qmin.pop(); minn*=qmin.top(); qmin.pop(); qmin.push(minn+1); } printf("%lld\n",qmin.top()-qmax.top()); } return 0; }