提交时间:2024-03-02 18:27:58
运行 ID: 134792
#include<bits/stdc++.h> using namespace std; priority_queue<long long> qmax; priority_queue<long long,vector<long long>, greater<long long> > qmin; long long n,a[50005],i,temp,maxx,minn; int main() { while(1) { scanf("%lld",&n); if(n<=0) { return 0; } while(!qmax.empty()) { qmax.pop(); } while(!qmin.empty()) { qmin.pop(); } maxx=0; minn=0; for(i=1;i<=n;++i) scanf("%lld",&temp),qmax.push(temp),qmin.push(temp); for(i=1;i<n;++i) { maxx=qmax.top(); qmax.pop(); maxx*=qmax.top(); qmax.pop(); qmax.push(maxx+1); minn=qmin.top(); qmin.pop(); minn*=qmin.top(); qmin.pop(); qmin.push(minn+1); } printf("%lld\n",qmin.top()-qmax.top()); } return 0; }