洛谷P1678 煩惱的高考志願

2021-08-22 19:27:56 字數 1080 閱讀 7564

題目背景

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

題目描述

根據n位學生的估分情況,分別給每位學生推薦一所學校,要求學校的預計分數線和學生的估分相差最小(可高可低,畢竟是估分嘛),這個最小值為不滿意度。求所有學生不滿意度和的最小值。讀入資料有三行,第一行讀入兩個整數m,n。m表示學校數,n表示學生數。第二行共有m個數,表示m個學校的預計錄取分數。第三行有n個數,表示n個學生的估分成績。輸出資料有一行,為最小的不滿度之和。

輸入輸出格式

輸入格式:

輸出格式:

輸入輸出樣例

輸入樣例#1:

4 3

513 598 567 689

500 600 550

輸出樣例#1:

32 說明

資料範圍:對於30%的資料,m,n<=1000,估分和錄取線<=10000;對於100%的資料,n,m<=100,000,錄取線<=1000000。

. .

. . . .

分析如果a[mid],即錄取分數線陣列中的第mid個元素小於或等於那位同學的分數,mid+1賦值給l,否則,mid賦值給r。

最後查詢完後,那麼求錄取分數線陣列中的第l-1個元素和錄取分數線陣列中的第l個元素他們兩與那位同學的估分的絕對值,那麼答案就累加兩個絕對值中最小的。

. .

. .

.程式:

#include

#include

#include

using

namespace

std;

int m,n,a[1000010],b[1000010];

int main()

if (b[i]<=a[1]) ans+=a[1]-b[i];else ans+=min(abs(a[l-1]-b[i]),abs(a[l]-b[i]));

}cout

0;}

洛谷P1678 煩惱的高考志願

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

洛谷P1678 煩惱的高考志願

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

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

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