一.如題:
Problem Description
為了能過個(gè)好年,xhd開始復(fù)習(xí)了,于是每天晚上背著書往教室跑。xhd復(fù)習(xí)有個(gè)習(xí)慣,在復(fù)習(xí)完一門課后,他總是挑一門更簡(jiǎn)單的課進(jìn)行復(fù)習(xí),而他復(fù)習(xí)這門課的效率為兩門課的難度差的平方,而復(fù)習(xí)第一門課的效率為100和這門課的難度差的平方。xhd這學(xué)期選了n門課,但是一晚上他最多只能復(fù)習(xí)m門課,請(qǐng)問他一晚上復(fù)習(xí)的最高效率值是多少?
Input
輸入數(shù)據(jù)的第一行是一個(gè)數(shù)據(jù)T,表示有T組數(shù)據(jù)。
每組數(shù)據(jù)的第一行是兩個(gè)整數(shù)n(1 <= n <= 40),m(1 <= m <= n)。
接著有n行,每行有一個(gè)正整數(shù)a(1 <= a <= 100),表示這門課的難度值。
Output
對(duì)于每組輸入數(shù)據(jù),輸出一個(gè)整數(shù),表示最高效率值。
Sample Input
2 2 2 52 25 12 5 89 64 6 43 56 72 92 23 20 22 37 31
Sample Output
5625 8836
二.代碼實(shí)現(xiàn)如下:
#include <cstdio>
#include <algorithm>
using namespace std;
int main()
{
int u;
int n,m;
int minnunb;
scanf ("%d",&u);
while (u--)
{
? scanf ("%d %d",&n,&m);
? minnunb= 100;
? while (n--)
? {
? int temp
? scanf ("%d",&temp);
? minn unb= min (minnunb, temp);
? }
? printf ("%d\n",(100-minnunb)*(100-minnumb));
}
return 0;
}
三.問題與解決:
此題重在審題,實(shí)際上最后的輸出與m值的大小無關(guān),m只是一個(gè)占用輸入的迷惑用的那么個(gè)參數(shù)。結(jié)果其實(shí)就是100與最小的難度值的差值;