P1678 煩惱的高考志願

2021-10-07 03:43:19 字數 1709 閱讀 1427

題目背景

計算機競賽小組的神牛v神終於結束了萬惡的高考,然而作為班長的他還不能閒下來,班主任老t給了他乙個艱鉅的任務:幫同學找出最合理的大學填報方案。可是v神太忙了,身後還有一群小姑娘等著和他約會,於是他想到了同為計算機競賽小組的你,請你幫他完成這個艱鉅的任務。

題目描述

現有 m(m≤100000) 所學校,每所學校預計分數線是ai(ai≤10^6)。有 n(n≤100000) 位學生,估分分別為 bi(bi≤10^6)。

根據n位學生的估分情況,分別給每位學生推薦一所學校,要求學校的預計分數線和學生的估分相差最小(可高可低,畢竟是估分嘛),這個最小值為不滿意度。求所有學生不滿意度和的最小值。

輸入格式

第一行讀入兩個整數m,n。m表示學校數,n表示學生數。第二行共有m個數,表示m個學校的預計錄取分數。第三行有n個數,表示n個學生的估分成績。

輸出格式

一行,為最小的不滿度之和。

輸入輸出樣例

輸入 #1

4 3

513 598 567 689

500 600 550

輸出 #1

說明/提示

資料範圍:

對於30%的資料,m,n<=1000,估分和錄取線<=10000;

對於100%的資料,n,m<=100,000,錄取線<=1000000。

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

int n,m,ans =0;

int a[

100010

],b[

100010];

intbinary_search

(int x)

if(b[x]

>= a[r]

)while

(l <= r)

else

if(b[x]

>a[mid-1]

&& b[x]

< a[mid]

)else

if(b[x]

>a[mid]

&& b[x]

< a[mid+1]

)else

if(b[x]

< a[mid]

)else

}return0;

}int

main()

for(

int i =

1; i <= m; i++

)sort

(a+1

,a+1

+n);

sort

(b+1

,b+1

+m);

for(

int i =

1; i <= m; i++

)

cout << ans << endl;

return0;

}

P1678 煩惱的高考志願

傳送門 計算機競賽小組的神牛v神終於結束了萬惡的高考,然而作為班長的他還不能閒下來,班主任老t給了他乙個艱鉅的任務 幫同學找出最合理的大學填報方案。可是v神太忙了,身後還有一群小姑娘等著和他約會,於是他想到了同為計算機競賽小組的你,請你幫他完成這個艱鉅的任務。現有 m 所學校,每所學校預計分數線是 ...

洛谷P1678 煩惱的高考志願

題目背景 計算機競賽小組的神牛v神終於結束了萬惡的高考,然而作為班長的他還不能閒下來,班主任老t給了他乙個艱鉅的任務 幫同學找出最合理的大學填報方案。可是v神太忙了,身後還有一群小姑娘等著和他約會,於是他想到了同為計算機競賽小組的你,請你幫他完成這個艱鉅的任務。題目描述 根據n位學生的估分情況,分別...

洛谷P1678 煩惱的高考志願

題目背景 計算機競賽小組的神牛v神終於結束了萬惡的高考,然而作為班長的他還不能閒下來,班主任老t給了他乙個艱鉅的任務 幫同學找出最合理的大學填報方案。可是v神太忙了,身後還有一群小姑娘等著和他約會,於是他想到了同為計算機競賽小組的你,請你幫他完成這個艱鉅的任務。題目描述 根據n位學生的估分情況,分別...