日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1004—p1m2

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1004—p1m2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1004—p1m2

題目:

p1m2

? ?Accepts: 1003 ? ?Submissions: 4595 ?Time Limit: 2000/1000 MS (Java/Others) ? ?Memory Limit: 131072/131072 K (Java/Others) Problem Description

度度熊很喜歡數組!!

我們稱一個整數數組為穩定的,若且唯若其同時符合以下兩個條件:

  • 數組里面的元素都是非負整數。
  • 數組里面最大的元素跟最小的元素的差值不超過?11。
  • 舉例而言,[1, 2, 1, 2][1,2,1,2]?是穩定的,而?[-1, 0, -1][?1,0,?1]?跟?[1, 2, 3][1,2,3]?都不是。

    現在,定義一個在整數數組進行的操作:

    • 選擇數組中兩個不同的元素?aa?以及?bb,將?aa?減去?22,以及將?bb?加上?11。

    舉例而言,[1, 2, 3][1,2,3]?經過一次操作后,有可能變為?[-1, 2, 4][?1,2,4]?或?[2, 2, 1][2,2,1]。

    現在給定一個整數數組,在任意進行操作后,請問在所有可能達到的穩定數組中,擁有最大的『數組中的最小值』的那些數組,此值是多少呢?

    Input

    輸入的第一行有一個正整數?TT,代表接下來有幾組測試數據。

    對于每組測試數據: 第一行有一個正整數?NN。 接下來的一行有?NN?個非負整數?x_ix?i??,代表給定的數組。

    • 1 \le N \le 3 \times 10^51N3×10?5??
    • 0 \le x_i \le 10^80x?i??10?8??
    • 1 \le T \le 181T18
    • 至多?11?組測試數據中的?N > 30000N>30000
    Output

    對于每一組測試數據,請依序各自在一行內輸出一個整數,代表可能到達的平衡狀態中最大的『數組中的最小值』,如果無法達成平衡狀態,則輸出?-1?1。

    Sample Input 2 3 1 2 4 2 0 100000000 Sample Output Copy 2 33333333

    ?

    ?

    思路:

    ? ? ?直接二分答案即可,對于每個答案,計算原來數組需要加1的操作次數以及需要減2的操作次數,通過比較兩者的大小來縮小上界或下界。時間復雜度為O(nlog(n))。

    ?

    代碼:

    #include <cstdio> #include <algorithm> using namespace std; const int MAXN = 3e5+20; typedef long long ll; ll a[MAXN], n;ll check(ll ans) {ll t1=0, t2=0; ///t1表示需要加1的操作次數,t2表示需要減2的操作次數for(int i=1; i<=n; i++){if(ans>a[i]){t1+=(ans-a[i]);}else if(ans<a[i]){t2+=(a[i]-ans)/2;}}return t1<=t2;}int main() {int t;scanf("%d", &t);while(t--){scanf("%d", &n);for(int i=1; i<=n; i++)scanf("%I64d", &a[i]);ll l = 0, r = 1e9;while(l+1< r){ll mid = (l + r) >> 1;if(check(mid)){l = mid;}else{r = mid;}}printf("%I64d\n", l);}return 0; }

    ?

    轉載于:https://www.cnblogs.com/longl/p/9466445.html

    總結

    以上是生活随笔為你收集整理的1004—p1m2的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。