答えがRで提供される、CNTは、x [i]が> = 0の数であります
那么R = 1 / N *(ΣX[I](X [I]> = 0)+Σ(R - X [i])と(X [i]が<0))
次いでRを得るために一緒に式rの溶液に転置=Σ| GCDを除い/ CNT、| X [I]。特殊なXの下で言い渡さ覚えて[i]は負の状況がすることができます。
1の#include <cstdioを> 2の#include <アルゴリズム> 3 使用して 名前空間STDを、 4 INT T、CAS、N、TOT、GCD、CNT。 5 INT X [ 110 ]。 6 INT メイン() 7 { 8 用(scanf関数(" %のD "、&T);!T = 0 ; T-- ) 9 { 10 CAS ++ 。 11 TOT = CNT = 0 。 12 のscanf(" %d個"、&N) 13 のために(int型 i = 1 ; iが<= N; iが++ ) 14 { 15 のscanf(" %dの"、およびX [I])。 16 であれば(X [i]が> = 0 ) 17 { 18 CNT ++ 。 19 TOT + = X [i]は、 20 } そうでなければ 21 TOT - =のX [i]は、 22 } 23 であれば(CNT == 0 ) 24 { 25 printf(" ケースは%d:INFの\ nを" 、CAS); 26 続け; 27 } 28 GCD = __gcd(TOT、CNT)。 29 のprintf(" ケース%D:%D /%D \ n "、CAS、TOT / GCD、CNT / GCD)。 30 31 } 32 リターン 0 。 33 }