新生練習賽1 雲底之弈的小bug

2021-09-25 11:09:14 字數 1161 閱讀 4828

雲底之弈是著名的moba遊戲狗熊聯盟抄襲某遊戲的,由於抄的太匆忙,遊戲裡有乙個小bug忘記修改,bug的觸發機制比較複雜,所以官方還未發現。但是機智的zcf發現了這個小bug,在每輪對局中只要選擇特定的幾名海盜英雄,在開戰的時候按下上上下下左右左右baba就可以觸發bug。

bug觸發時會掉落n枚金幣,每一枚都有不同的面值。zcf想要獲取嚴格大於總價值一半的金幣,但是小馬哥的公司這麼厲害,裡面的程式設計師一定也非常厲害,所以zcf又害怕觸發遊戲的反作弊機制,所以他要拿最少數量的金幣。

在這個基礎上,你能程式設計幫zcf算出他最少要拿多少個金幣嗎?

input

第一行包含乙個整數金幣的數量n(1<=n<=100),第二行包含n個整數a1, a2, …, an(1<=ai<=100)(金幣的面值),所有的數字被空格隔開。

output

最少需要拿多少個金幣

examples

input

2

3 3

output

2
input

3

2 1 2

output

2
note

在樣例1中必須拿兩個金幣,,如果只拿乙個的話,就不能滿足zcf的小心思。

在樣例2中你可以拿兩個,2,1或者2,2都可以,但是不管怎樣都必須拿兩個金幣。

思路:要求最少需要拿多少個金幣,並且要獲取嚴格大於總價值一半的金幣,則需要對金幣的面值進行倒序排序,用for迴圈,當所拿面值大於總的一半時跳出迴圈。….

..**:

#include #include #include #include using namespace std;

int n,m;

int a[105];

int cmp(int a,int b)

int main()

mid = sum / 2.0;

sort(a+1,a+1+n,cmp);

for(int i = 1; i <= n; i++)

}//cout << mid <}

return 0;

}

新生練習賽1 B

acm的學長最近在henu附近supermarket打工。一天之中,他的工作時間是l分鐘。這位學長記性非常好,他已經記住了n位老客戶,其中第i位顧客是在一天開始工作後的ti分鐘到來,並且服務這位顧客需要花費li分鐘。此外當學長為另一位客戶提供服務時,保證不會有任何客戶到達。然鵝,學長想要想要在忙碌中...

牛客練習賽44 小y的線段 思維

題目描述 給出n條線段,第i條線段的長度為 ai 每次可以從第 i 條線段的j位置跳到第 i 1 條線段的 j 1 位置。如果第 i 1 條線段長度不到j 1,那麼就會回到第 i 條線段的 0 位置,然後繼續跳。問從第 i 條線段的 0 位置跳到第 n 條線段需要跳多少次。解題思路 題目上的 n 的...

牛客練習賽56 小魂和他的數列

題目鏈結 給出乙個數列,讓求長度為k的嚴格遞增子串行有多少個 怎麼做呢?顯然dp 這個是很好想的 for int i 1 i n i for int i 2 i m i 這個dp顯然tle 所以 當時沒有做出來。做到這裡不會做了。想不到怎麼優化。顯然在最裡面的那個迴圈的作用是字首和 小於a i 的位...