luogu1678煩惱的高考志願 二分

2021-09-25 23:29:49 字數 1220 閱讀 5214

>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位學生的估分情況,分別...