洛谷P1678 煩惱的高考志願

2021-10-04 11:19:52 字數 1294 閱讀 3461

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

題目描述

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

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

輸入格式

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

輸出格式

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

輸入輸出樣例

輸入 #1複製

4 3513 598 567 689

500 600 550

輸出 #1複製

32說明/提示

資料範圍:

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

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

題目簡化一下就是找 分數線和估分值差的絕對值對小的值 的 和。

需要注意的是與a[0]做差,所以將a[0]設定的很大

#include

#include

using

namespace std;

int a[

100001

],b[

100001];

int n,m,ans=0;

intmain()

for(

int i=

0;i)sort

(a+1

,a+1

+n);

//排序

a[0]=

1e8;

//將0設大一點

for(

int i=

0;i)// l 周圍是接近 b[i] 的數

ans +

=min

(abs

(b[i]

-a[l+1]

),min(

abs(b[i]

-a[l]),

abs(b[i]

-a[l-1]

)));

//貪心查詢最小的

} cout<}

洛谷P1678 煩惱的高考志願

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

洛谷P1678 煩惱的高考志願

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

洛谷題解 P1678 煩惱的高考志願

洛谷,我的oj,現有 m 所學校,每所學校預計分數線是 ai。有 n 位學生,估分分別為 bi 根據 n 位學生的估分情況,分別給每位學生推薦一所學校,要求學校的預計分數線和學生的估分相差最小 可高可低,畢竟是估分嘛 這個最小值為不滿意度。求所有學生不滿意度和的最小值。第一行讀入兩個整數 m,n。m...