time limit: 10 second
memory limit: 2 mb
問題描述
現有n個整數,n≤10000,要求出這n個正整數中的第k個最小整數(相同大小的整數只計算一次),k≤1000,正整數均小於30000
第一行為n和k,第二行開始為n個正整數的值,整數間用空格隔開。
第k個最小整數的值;若無解,則輸出「no result」(大寫)。
10 31 3 3 7 2 5 1 2 4 6
3【題解】
也是計數排序的應用。定義乙個bool陣列 1..30000,然後遇到乙個數字就bool[number] = true;
最後從小到大,列舉,如果遇到了第k個boo[i] == true 就直接輸出i;
【**】
#include const int maxnumber = 30000;bool bo[maxnumber+10];
int n,k;
void input_data() }
void output_ans()
}if (t != k) //沒有找到第k個數字就輸出無解資訊。
printf("no result");
}int main()
9204 第k小整數
time limit 10 second memory limit 2 mb 問題描述 現有n個整數,n 10000,要求出這n個正整數中的第k個最小整數 相同大小的整數只計算一次 k 1000,正整數均小於30000 第一行為n和k,第二行開始為n個正整數的值,整數間用空格隔開。第k個最小整數的值...
第k小整數
現有n個正整數,n 10000,要求出這n個正整數中的第k個最小整數 相同大小的整數只計算一次 k 1000,正整數均小於30000。輸入格式 第一行為n和k 第二行開始為n個正整數的值,整數間用空格隔開。輸出格式 第k個最小整數的值 若無解,則輸出 no result 輸入樣例 1 10 3 1 ...
第k小整數(樹狀陣列)
洛谷傳送門 入門難度。沒錯,但是我並不是要暴力做。而是用樹狀陣列來做。先離散化,然後隨便搞一搞就可以了。暈。比暴力還慢 如果要查詢某一區間的的話可以把區間取出重新建樹,然後再求。更暴力 1 include 2 include 3 include 4 define n 10001 5 define l...