05網(wǎng)亮點給力大試卷網(wǎng)站seo博客
題目描述
佳佳的老師在黑板上寫了一個由? n個正整數(shù)組成的數(shù)列,要求佳佳進行如下操作:每次擦去其中的兩個數(shù)a? 和b ,然后在數(shù)列中加入一個數(shù)a*b+1 ,如此下去直至黑板上剩下一個數(shù)為止,在所有按這種操作方式最后得到的數(shù)中,最大的為 max,最小的為 min,?則該數(shù)列的極差定義為M=max-min 。
由于佳佳忙于準備期末考試,現(xiàn)請你幫助他,對于給定的數(shù)列,計算出相應的極差?。
輸入格式
第一行為一個正整數(shù)n? 表示正整數(shù)序列的長度;
在接下來的? n行中,每行輸入一個正整數(shù)。
接下來的一行有一個 0,表示數(shù)據(jù)結束。
輸出格式
輸出只有一行,為相應的極差?。
樣例
樣例輸入
復制3
1
2
3
0
樣例輸出
復制2
_____________________________________________________________________________
寫作不易,點個贊唄!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
____________________________________________________________________________
每次排序后算最小的數(shù),最后結果為max;
每次排序后算最大的數(shù),最后結果為min;
#include <bits/stdc++.h>
using namespace std;
int n;
int a[1000005];
int b[1000005];
bool cmp1(int x,int y){return x<y;
}
bool cmp2(int x,int y){return x>y;
}
int main(){int n;cin>>n;for(int i=1;i<=n+1;i++){cin>>a[i];b[i]=a[i];if(a[i]==0)break;}for(int i=1;i<n;i++){sort(a+i,a+1+n,cmp1);sort(b+i,b+1+n,cmp2);a[i+1]=a[i]*a[i+1]+1;b[i+1]=b[i]*b[i+1]+1;}cout<<a[n]-b[n];
}