>description
現有 m 所學校,每所學校預計分數線是 a_i。有 n位學生,估分分別為 b_i。
根據n位學生的估分情況,分別給每位學生推薦一所學校,要求學校的預計分數線和學生的估分相差最小(可高可低,畢竟是估分嘛),這個最小值為不滿意度。求所有學生不滿意度和的最小值。
>input
第一行讀入兩個整數m,n。m表示學校數,n表示學生數。
第二行共有m個數,表示m個學校的預計錄取分數。
第三行有n個數,表示n個學生的估分成績。
>output
一行,為最小的不滿度之和。
>sample input
4 3513 598 567 689
500 600 550
>sample output
32>解題思路
二分演算法:
把m個學校的預計錄取分數(陣列s)從小到大排個序,
列舉每個學生的估分成績(a_i),(用二分)找到在陣列s中大於a_i的第乙個數(s_j),比較 s_j與a_i的差 和 s_j-1與a_i的差(s_j-1為小於等於a_i的最後乙個數),記錄小的那乙個。
>**
#include
#include
#include
using namespace std;
int m,n,a,s[
1000005
],ans;
int lil
(int ff)
//二分查詢
if(ff)return s[1]
-ff;
//特判所有s陣列裡的數都大於ff
return
min(
max(s[l]
,ff)
-min
(s[l]
,ff)
,max
(s[l-1]
,ff)
-min
(s[l-1]
,ff));
//比較
}int main()
printf
("%lld"
,ans)
;return0;
}
P1678 煩惱的高考志願
題目背景 計算機競賽小組的神牛v神終於結束了萬惡的高考,然而作為班長的他還不能閒下來,班主任老t給了他乙個艱鉅的任務 幫同學找出最合理的大學填報方案。可是v神太忙了,身後還有一群小姑娘等著和他約會,於是他想到了同為計算機競賽小組的你,請你幫他完成這個艱鉅的任務。題目描述 現有 m m 100000 ...
P1678 煩惱的高考志願
傳送門 計算機競賽小組的神牛v神終於結束了萬惡的高考,然而作為班長的他還不能閒下來,班主任老t給了他乙個艱鉅的任務 幫同學找出最合理的大學填報方案。可是v神太忙了,身後還有一群小姑娘等著和他約會,於是他想到了同為計算機競賽小組的你,請你幫他完成這個艱鉅的任務。現有 m 所學校,每所學校預計分數線是 ...
洛谷P1678 煩惱的高考志願
題目背景 計算機競賽小組的神牛v神終於結束了萬惡的高考,然而作為班長的他還不能閒下來,班主任老t給了他乙個艱鉅的任務 幫同學找出最合理的大學填報方案。可是v神太忙了,身後還有一群小姑娘等著和他約會,於是他想到了同為計算機競賽小組的你,請你幫他完成這個艱鉅的任務。題目描述 根據n位學生的估分情況,分別...