本帖最後由 葉桔良 於 2022-11-4 19:41 編輯
A.貓貓卡牌
Problem ID: triplet
殿壬是個天才兒童,他在一個月大的時候就學會數數、六個月大的時候就學會乘法跟除
法、一歲時學會寫程式、一歲又六個月時養了可愛的拉不拉多、一歲又十個月時養了可愛的貓
咪、兩歲時發明了「吃餅乾」的遊戲,現在要講的是殿壬三歲大的故事。
這天,殿壬牽著他的貓貓來到了 NPSC 魔法學院的醉月湖旁邊,和貓貓玩著現在正流行的
遊戲 – 貓貓卡牌。
貓貓牌組是由三種類型(金貓、銀貓、呆若木喵)的卡牌所形成的牌組。在一組牌組中,
每種類型的卡牌有 n 張,因此一共會有 3 × n 張牌。特別地,每一張牌都會有一個數字寫在上
面,類型為金貓的 n 張卡片上寫的數字分別為 a1, a2, . . . , an;類型為銀貓的 n 張卡片上寫的數
字分別為 b1, b2, . . . , bn;類型為呆若木喵的 n 張卡片上寫的數字分別為 c1, c2, . . . , cn。
現在,相信你對卡片上所擁有的資訊都了解得差不多了!
接下來,這個遊戲將進行 n 輪,每一輪貓貓會按照如下的步驟選出:1. 從「剩下」的金
貓、銀貓、呆若木喵的卡牌中各選出一張牌,並將這三張牌從牌組中去除。2. 將這三張牌中的
最小數字寫在一張紙上。
最後貓貓將寫在紙上的這 n 個數字加起來,我們稱這個數值為分數。如果這個分數是所有
可能中的最小值,那麼貓貓將能獲得一個殿壬的摸摸。
因為貓貓數學不好,但同時又很想獲得殿壬的摸摸,因此現在貓貓給你每種類型貓貓卡牌
上所寫的數字,想請你幫他算出可能的最小分數會是多少?
Input
輸入第一行有一個整數 n,代表每種類型的卡片有 n 張。
輸入第二行有 n 個整數 a1, a2, . . . , an,分別代表這 n 張金貓類型的卡牌上面寫的數字是多
少。
輸入第三行有 n 個整數 b1, b2, . . . , bn,分別代表這 n 張銀貓類型的卡牌上面寫的數字是多
少。
3
2019 — 網際網路程式設計全國大賽 國中組初賽
輸入第四行有 n 個整數 c1, c2, . . . , cn,分別代表這 n 張呆若木喵類型的卡牌上面寫的數字
是多少。
• 1 ≤ n ≤ 100000
• 1 ≤ ai
, bi
, ci ≤ 109,對於所有正整數 i ≤ n
Output
輸出一個整數,代表可能的最小分數。
排序- #include <algorithm>
- using namespace std;
- int main(){
- int arr[10] = {8,6,3,7,5,1,9,4,2,0};
- sort(arr,arr+5);
-
- for(int i=0;i<10;i++)
- cout<<arr[i]<<" ";
- system("pause");
- return 0;
- }
複製代碼- #include <iostream>
- #include <algorithm>
- using namespace std;
- int main(){
- int n,arr[300001];
- cin>>n;
- for(int i=0;i<3*n;i++)
- {
- cin>>arr[i];
- }
- sort(arr,arr+3*n);
- int sum=0;
- for(int i=0;i<n;i++)
- sum+=arr[i];
- cout<<sum<<endl;
- system("pause");
- return 0;
- }
複製代碼 |