題目描述
書接上文,小花梨和小資訊閒著沒事切了太多巧克力,於是他們決定將多切的巧克力分發給參加2018伊卡斯特程式設計競賽的同學們。他們先統計了乙份分發名單,第i位同學被分配了ai塊巧克力。
比賽現場:
「小花梨!有些同學想要多吃點巧克力!」
「小花梨!有些同學午飯吃撐了不要那麼多巧克力!」
「小花梨!有些同學要組隊打包巧克力帶走!」
「小花梨!再拿一包中號袋子過來!這些人都要這麼多個巧克力!」
「小花梨!」「您能消停點不!」…………
總而言之,現在出現了三大類問題:
1、小花梨需要修改第x位同學的巧克力數量為y
2、小花梨需要求第l位同學到第r位同學的巧克力數量之和
3、小花梨需要求第l位同學到第r位同學的巧克力數量的眾數,即出現次數最多的數字。
(如果存在多個眾數,輸出數字最小的那個)
由於人手實在不夠,所以小花梨無奈把你從二食堂抓了回來。作為補償,你可以在得到乙份額外的霸王餐之外拿走剩下來的所有巧克力。
輸入
輸入只有一組資料。
第一行為兩個整數n和q,表示同學數和運算元
第二行為n個整數ai,表示第i位同學的巧克力數
接下來q行,先輸入字串s表示操作型別
「change x y」,表示修改第x位同學的巧克力數量為y
「query l r」,求第l位同學到第r位同學的巧克力數量之和
「most l r」,求第l位同學到第r位同學的巧克力數量的眾數
(1≤n,q≤10000,1≤ai,y≤109,1≤l≤r≤n,1≤x≤n)
輸出
對於每乙個操作"query"和"most",輸出一行ans,表示答案。
樣例輸入
1041
1122
3344
5query 2
3most 2
4change 3
2most 2
4
樣例輸出
2
12
code
關於眾數從博文 求眾數(c語言) 中獲得了一些靈感
//超時了。。
#include
using
namespace std;
struct node
;bool
compare
(int a,
int b)
bool
compare2
(node a,node b)
int ai[
10010];
int aai[
10010];
node bi[
10010];
intmost
(int n,
int x,
int y)
else j++;}
stable_sort
(bi,bi+y-x+
1,compare2)
;int tt=0;
for(
int i=
0;bi[i]
.nnum==bi[i+1]
.nnum;i++
)return bi[tt]
.cho_num;
}int
main()
else cout<<
most
(n,x,y)
<}return0;
}
Q7 巧克力製造商的戰略聯盟
拉塞爾是生產中等價位巧克力的企業,它的產品在雜貨店和折扣零售店 它希望提高其市場分額。拉塞爾如何通過和賀曼合作來實現其目標?拉塞爾和賀曼各將獲得什麼好處?如果這兩家企業建立戰略聯盟,它們將如何製作宣傳它們兩家產品的廣告?russell stover 始創於1923 年,由一對美國夫婦 mr.mrs....
問題 F 最小花費
時間限制 1 sec 記憶體限制 128 mb 提交 53 解決 25 提交 狀態 討論版 命題人 外部匯入 題目描述 在n個人中,某些人的銀行賬號之間可以互相轉賬。這些人之間轉賬的手續費各不相同。給定這些人之間轉賬時需要從轉賬金額裡扣除百分之幾的手續費,請問a最少需要多少錢使得轉賬後b收到100元...
問題 Q 買早餐
題目描述 小明是乙個懂事的孩子,每天起床後的第一件事就是給家人買早餐,已知饅頭乙個0.5元,包子乙個1元,雞蛋乙個1.5元,公尺粉乙份4元。爸爸給了小明若干元錢,要求小明恰好把錢用光,請問小明多少種買法?兩種買法被認為不同是因為至少有一種食物的數量不一樣。輸入爸爸給小明的錢數m,是乙個整數 1 m ...