排序 一次查詢兩元素

2022-04-10 08:21:53 字數 1011 閱讀 8947

時間限制: 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 #include 

#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()

view code

查詢陣列中只出現一次的元素

問題 已知乙個特殊陣列,陣列中除去乙個元素只出現一次之外,其他元素都出現了兩次,現在要找出這個唯一乙個只出現了一次的資料元素,並將其列印出來。分析 利用異或運算的特殊性。例如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.因為有的使用者有充值記錄但不一定有取出記錄,所以需要...