1971 安排座位

2021-08-21 10:19:32 字數 1183 閱讀 3970

time limit: 2 sec

memory limit: 128 mb

submitted: 331

solved: 227

一年一度的暑期集訓又開始了!

作為老人的小明非常憂傷,因為他要給所有的新人安排座位。由於安排給新人的座位上的機器可能有各種毛病(比如很卡,上不了網之類的),這些問題的出現都會讓新人的訓練熱情下降。為了讓更多的新人能夠留下,小明自然希望大家的熱情都是高漲的。

對於每個新人,都會有乙個熱情值ai,而每個座位都會有乙個熱情耗損值bi,如果第i個新人坐在第j個位置,那這位同學對整個集訓隊熱情值的貢獻就是(ai - bj) ^2。現在給出所有新人的熱情值,所有位置的熱情耗損值,你能告訴小明採用最合理的位置安排方式後,能得到的最大的集訓隊熱情值是多少?

當然,每個位置只能坐乙個新人,每個新人也必須坐在某個位置上

第一行乙個數字t表示資料組數

每組資料報括三行:

第一行為乙個整數n,表示新人的人數

第二行為n個整數,第i個數字表示第i個同學的熱情值ai

第三行為n個整數,第i個數字表示第i個座位的熱情耗損值為bi

其中t<=10 , 0<=ai , bi <=100, 1<=n<=100000

輸出一行只包含乙個整數,表示集訓隊熱情值的最大值

2

32 5 1

0 0 1

32 5 1

3 2 5

29

26

要讓熱情盡量大,就要讓ai,bi的差值盡量大。ai,bi分別從大到小排序和從小到大排序就好了。

#include#includeusing namespace std;

const int maxn = 100000;

int a[maxn + 50], b[maxn + 50];

bool cmd(int x, int y)

int main()

for (int i = 0; i < n; i++)

sort(a, a + n, cmd);

sort(b, b + n);

for (int i = 0; i < n; i ++)

cout << sum << endl;

sum = 0;

} return 0;

}

CSU 1971 安排座位

submit page summary time limit 2 sec memory limit 128 mb submitted 114 solved 83 一年一度的暑期集訓又開始了!作為老人的小明非常憂傷,因為他要給所有的新人安排座位。由於安排給新人的座位上的機器可能有各種毛病 比如很卡,上...

COJ1971 安排座位

submit page summary time limit 2 sec memory limit 128 mb submitted 114 solved 83 description 一年一度的暑期集訓又開始了!作為老人的小明非常憂傷,因為他要給所有的新人安排座位。由於安排給新人的座位上的機器可能...

排座位 (25 分)

7 40 排座位 25 分 布置宴席最微妙的事情,就是給前來參宴的各位賓客安排座位。無論如何,總不能把兩個死對頭排到同一張宴會桌旁!這個艱鉅任務現在就交給你,對任何一對客人,請編寫程式告訴主人他們是否能被安排同席。輸入第一行給出3個正整數 n 100 即前來參宴的賓客總人數,則這些人從1到n編號 m...