時間限制: 1 sec 記憶體限制: 64 mb
提交: 30 解決: 21
[提交] [狀態] [討論版] [命題人:]
題目描述
修羅王和邪狼逃出監獄,混入了監獄門口檢查站前排成一列準備待檢的囚犯人群中,由於每個囚犯入獄前均以編號來表示,且該編號的編寫規則是囚犯的危險性越大,則編號就越小。顯然,修羅王和邪狼因其極端的危險性,其編號必定是這一列無序排列的人群中最小的兩個,那麼,如何對所有人的編號只用一遍掃瞄,即找出修羅王和邪狼的編號呢?
輸入共兩行,第一行為乙個數n(n≤1000000),即排隊的人數,第二行為n個數,即每個人的編號,每個編號均不超過int型別的最大值。
輸出輸出由小到大排列的最小的兩個編號。
樣例輸入
10樣例輸出2 1 76 11 4 765 32 56 3 23
1 2分析:排序,輸出前兩個元素。
#include #includeview code#include
#include
#include
#include
#include
#include
#include
#include
#define range(i,a,b) for(int i=a;i<=b;++i)
#define ll long long
#define rerange(i,a,b) for(int i=a;i>=b;--i)
#define fill(arr,tmp) memset(arr,tmp,sizeof(arr))
using
namespace
std;
intn;
vector
num;
void
init()
void
solve()
intmain()
查詢陣列中只出現一次的元素
問題 已知乙個特殊陣列,陣列中除去乙個元素只出現一次之外,其他元素都出現了兩次,現在要找出這個唯一乙個只出現了一次的資料元素,並將其列印出來。分析 利用異或運算的特殊性。例如a異或b得到c,c再與b異或則又會得到a,那麼依照這個規律,將整個陣列逐個元素異或,最後得到的結果既是該陣列中僅出現了一次的元...
記一次sql查詢
效果圖 要查詢出如上圖的效果 知識點.1.多表巢狀查詢.2.輸出查詢結果,group concat函式 3.關聯查詢 select t1.學校,case when t1.年級 2017 then 1年級 when t1.年級 2016 then 2年級 when t1.年級 2015 then 3年...
記一次複雜查詢
專案中有乙個需求,查出使用者取出,充值次數,金額,使用者名稱,金幣的總量和每局遊戲的盈虧等做乙個統計,而他們分布在個表中,分別是使用者表,使用者取出表,使用者充值表,每局遊戲表中。首先想到的就是要分組查詢,group by user.userid.因為有的使用者有充值記錄但不一定有取出記錄,所以需要...