Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
133804 | mairuisheng | 数列极差问题 | C++ | 解答错误 | 33 | 0 MS | 260 KB | 546 | 2024-03-02 09:28:45 |
#include<iostream> #include<cstdio> #include<queue> using namespace std; priority_queue<int> qmax; priority_queue<int,vector<int>, greater<int> > qmin; int n,a[50005]; int main() { scanf("%d",&n); for(int i=1,temp;i<=n;++i) scanf("%d",&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("%d\n",qmin.top()-qmax.top()); return 0; }