python ccf題解 201612 1 中間數

2021-08-22 12:05:24 字數 1227 閱讀 8780

問題描述

試題編號:

201612-1

試題名稱:

中間數時間限制:

1.0s

記憶體限制:

256.0mb

問題描述:

問題描述

在乙個整數序列a1, a2, …, an中,如果存在某個數,大於它的整數數量等於小於它的整數數量,則稱其為中間數。在乙個序列中,可能存在多個下標不相同的中間數,這些中間數的值是相同的。

給定乙個整數序列,請找出這個整數序列的中間數的值。

輸入格式

輸入的第一行包含了乙個整數n,表示整數序列中數的個數。

第二行包含n個正整數,依次表示a1, a2, …, an。

輸出格式

如果約定序列的中間數存在,則輸出中間數的值,否則輸出-1表示不存在中間數。

樣例輸入

62 6 5 6 3 5

樣例輸出

樣例說明

比5小的數有2個,比5大的數也有2個。

樣例輸入

43 4 6 7

樣例輸出

-1樣例說明

在序列中的4個數都不滿足中間數的定義。

樣例輸入

53 4 6 6 7

樣例輸出

-1樣例說明

在序列中的5個數都不滿足中間數的定義。

評測用例規模與約定

對於所有評測用例,1 ≤ n ≤ 1000,1 ≤ ai ≤ 1000。

**

#中間數 

n = int(input())

a = list(map(int,input().split()))

a.sort()#資料排序

middle = n//2#初始為中間位置

before = n//2

after = n//2

while before > 0 and a[middle] == a[before-1]:#向左查詢中間數相同的數,左邊界

before-=1

while after < n-1 and a[middle] == a[after+1]:#向右查詢,右邊界

after+=1

if(before == (n-1-after)):#左右邊界對稱,中間數存在

print(a[middle])

else:#否則不存在

print(-1)

python ccf題解201612 2 工資計算

問題描述 試題編號 201612 2 試題名稱 工資計算 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 小明的公司每個月給小明發工資,而小明拿到的工資為交完個人所得稅之後的工資。假設他乙個月的稅前工資 扣除五險一金後 未扣稅前的工資 為s元,則他應交的個人所得稅按如下公式計算 ...

python ccf題解 201809 1 賣菜

問題描述 試題編號 201809 1 試題名稱 賣菜時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 在一條街上有n個賣菜的商店,按1至n的順序排成一排,這些商店都賣一種蔬菜。第一天,每個商店都自己定了乙個 店主們希望自己的菜價和其他商店的一致,第二天,每一家商店都會根據他自己和相...

題解 SDOI2016 征途

link 題目大意 給定序列,將它劃分為 m 段使得方差最小,輸出 s 2 m 2 乙個整數 text 這題我通過題解中的大佬部落格學到了一般化方差柿子的寫法。下面來推柿子 s 2 frac n x i overline 2 frac sum n x i 2 n frac n x i 2 2 sum...