1. 程式人生 > 其它 >期末小評http://class.51nod.com

期末小評http://class.51nod.com

A 逆序對個數1000

有一串數字,如果前面的數字比後面的數字大,那麼就稱這兩個數為一對逆序對。

輸入一個長度為n的陣列,輸出逆序對的個數。

也就是說問有多少對(i, j)滿足1 <= i < j <= n,且a[i] > a[j]。

1 <= n <= 1000,1 <= a[i] <= 10^9

輸入

第一行一個整數n,表示陣列長度
接下來n行,每行一個整數a[i],表示陣列的內容。

輸出

輸出一行一個數字,表示逆序對的個數。

輸入樣例

4
4
3
1
2

輸出樣例

5

B ProjectEuler 6

前10個正整數的平方和是
12+22++102=385

12+22+⋯+102=385

前10個正整數和的平方是
(1+2++10)2=3025(1+2+⋯+10)2=3025

和的平方減去平方和是3025 - 385 = 2640。

輸入n,求前n個正整數和的平方 減去 平方和。

輸入

輸入第一行組數T,
接下來T行,每行一個整數n。
(1 <= T <= 100)
(1 <= n <= 300)

輸出

對於每組資料,輸出一個數,表示和的平方減去平方和。

資料範圍

對於20%的資料,1≤T≤5,1≤n≤10;
對於60%的資料,1≤T≤20,1≤n≤100;
對於100%的資料,1≤T≤100,1≤n≤300。

輸入樣例

3
3
10
100

輸出樣例

22
2640
25164150

C 分成兩組

給出n個數,把這n個數分成2組,讓2組之和的差值儘量小,求這個最小的差。

例如:3個數2 2 3,我們將兩個2分為一組,1個3單獨一組,兩組和的差值為1。

輸入

第一行:1個數n,表示數字的數量(n <= 20)
後面n行:每行1個數a[i](0 <= a[i] <= 1000000000)。

輸出

輸出一個數,對應最小的差值

輸入樣例

3
2
2
3

輸出樣例

1