計算機競賽小組的神牛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...