Complex Congratulation β
http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1011&cid=832
In the world line 1.048596%
 梓川咲太在解決了櫻島麻衣和豐浜和花互換身體的事件以后,又陷入到了新的麻煩里面。
 ......
 “你們真的在交往嗎?”
 “是的,這是事實。”
 櫻島麻衣即使有點不好意思,也依然坦誠真相。
 “對方是個沒神經(jīng)的男生,三個月前向著全校學(xué)生向我表白。那個......”,麻衣以害羞的表情慎選言辭“我雖然一度保留,但還是被他的毅力折服了。”
 記者們一連串的發(fā)問都被櫻島麻衣輕松的化解,明明是新電影發(fā)布會的現(xiàn)場,可是記者們對櫻島麻衣的發(fā)問卻沒有平息的征兆。
 在一旁看著的經(jīng)紀人——涼子小姐心有余悸。明星的戀愛一直是禁忌的話題,稍有差池就會斷送藝人生涯。但是眼前的櫻島麻衣卻能借助發(fā)布會的現(xiàn)場,把氣氛往有利于自己的方向發(fā)展。
 這自然和櫻島麻衣本身超高的交流技巧有關(guān),還和觀眾有關(guān)。
 “如果有話要對男朋友說,可以請您在這里說嗎?”提出請求而不是詢問的記者是南條文香,和梓川咲太認識,一直在追蹤調(diào)查“青春期癥候群”。
 “不要,我要當(dāng)面和他說。”櫻島麻衣難為情的笑了,那是有點害羞又有非常幸福,能烙印在靈魂深處的表情,她以這樣一句話作為話題的結(jié)束。
 發(fā)布會后,涼子小姐看到事情的局面發(fā)展如此順利,想起了那天晚上櫻島麻衣小姐和她的面談。
 “對于氣氛的引導(dǎo)”,櫻島麻衣在涼子小姐前正襟危坐“我需要過半數(shù)的記者支持我。”
 “怎么界定這個支持呢?”
 “記者對于明星戀愛能不能正面的報到,這個是最重要的。你的電腦里面也有關(guān)于記者的各種資料吧。拿來給我看一下。”
 櫻島麻衣接過涼子小姐的電腦,熟練的打開excel,進行了一番操作以后,又把電腦給了涼子小姐。
 “每個記者都有{00,10,01,11}四個數(shù)字其中的一個,還有一個數(shù)字,指的是這個記者的影響力。”
 “兩個觀念A(yù)和B,0代表不支持,1代表支持。南條文香記者的右邊是11,表示的是即支持A又支持B。而這個記者的右邊是01,說明不支持A但支持B。00的話說明兩個都不支持。”
 “涼子小姐,你能不能幫我建立這個一個名單,人數(shù)不限,這上面的記者既有超過半數(shù)的人支持A,又有超過半數(shù)的人支持B。而且這個名單的人的總影響力最大?”
 涼子小姐開始打開Visual Studio 2017。她知道這個問題只能用程序來解決,也將決定櫻島麻衣的藝人生涯。
?
?
Input
多組輸入輸出
 第一行一個整數(shù)n,表示有n個記者(1<=n<=400000)
 接下來n行,每行有兩個數(shù)。
 第一個數(shù)是{00,01,10,11}的其中一個,表示第i個記者的支持取向。
 第二個數(shù)是ai (0<=ai<5000),表示第i個記者的影響力。
 所有測試數(shù)據(jù)的n的和不超過500000
?
?
Output
輸出一個數(shù)字,表示能取得的最大的總影響力
?
?
Sample Input
?5
11 1
01 1
00 100
10 1
01 1
?
?
Sample Output
?103
C++版本一
?
/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUGusing namespace std; typedef long long ll; const int N=100000+10; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; vector<int> v[4]; bool cmp(int x, int y){return x > y; } int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endifint n, op,m;while(~scanf("%d", &n)){for(int i = 0; i < 4; ++i)v[i].clear();ll ans = 0;for(int i = 1; i <= n; ++i){scanf("%d%d", &op, &m);if(op == 11) {v[0].push_back(m);ans+=m;}if(op == 10) v[1].push_back(m);if(op == 1) v[2].push_back(m);if(op == 0) v[3].push_back(m);}for(int i = 1; i < 3; ++i)sort(v[i].begin(), v[i].end(), cmp);int t1 = min(v[1].size(), v[2].size());for(int i = 0; i < t1; ++i){ans += v[1][i] + v[2][i];}for(int i = t1; i < v[1].size(); ++i)v[3].push_back(v[1][i]);for(int i = t1; i < v[2].size(); ++i)v[3].push_back(v[2][i]);sort(v[3].begin(), v[3].end(), cmp);int num = v[0].size();for(int i = 0; i < num && i < v[3].size(); ++i){ans += v[3][i];}printf("%lld\n", ans);}//cout << "Hello world!" << endl;return 0; }?
總結(jié)
以上是生活随笔為你收集整理的Complex Congratulation β的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。