題目描述
在解決了馬語翻譯問題後,馬匹數量越來越多,不少鄉鎮都有了數量可觀的馬匹,開始出現馬球比賽。鄉鎮之間決定進行馬球聯賽。
聯賽的賽制,主要是比賽雙方的馬匹數量,成了乙個急需解決的問題。首先,所有鄉鎮都要求,本鄉鎮所有的馬匹都必須參賽,或者都不參賽(若組隊的馬匹數量不是該鎮馬匹數量的約數,將無法參賽)。其次,在本鄉鎮,選出最佳球隊,參加鄉鎮間聯賽。
現在,比賽組織方希望滿足所有參賽鄉鎮的要求,並且使得決賽的馬匹盡可能多,請你設計每個球隊馬匹的數量,使得決賽馬匹數最大。注意,決賽至少有 2 個隊伍晉級。
輸入
第一行乙個整數 n,表示想要報名參賽的鄉鎮。
接下來 n 個用空格分開的整數 a(i),表示第 i 個鄉鎮報名參賽的馬匹數。
輸出
計算出決賽最大參與的馬匹數。
樣例輸入
【輸入樣例 1】
3 1 3 6
【輸入樣例 2】
5 4 6 3 8 9
樣例輸出
【輸出樣例 1】
6
【樣例解釋】
每個隊伍 3 匹馬,鄉鎮 1 無法參賽。鄉鎮 2 和 3 都可以進行比賽,決賽 2 個隊伍,共 6匹馬。
【輸出樣例 2】
9//
【樣例解釋】
每個隊伍 3 匹馬,鄉鎮 2,3,5 可以參賽。決賽 3 個隊伍, 9 匹馬。
資料範圍限制
【資料範圍】
20%的資料 2<=n<=100, 1<=a(i)<=10000。
50%的資料 2<=n<=20000。
100%的資料 2<=n<=200000, 1<=a(i)<= 2000000。
解題思路
題目大意:求出max的公約數*隊伍數(隊伍馬匹是這個公約數的倍數)
設f [i
]f[i]
f[i]
是有f [i
]f[i]
f[i]
個隊伍是i
ii的倍數
#include
#include
#include
using namespace std;
long long n,x,f[
2000200
],maxn,maxx;
//記得開long long
int main()
for(int i=
1;i<=maxn;i++)//
if(f[i]
)//如果i有可能是答案
for(int j=
2;j*j<=i;j++)}
for(int i=
1;i<=maxn;i++)if
(f[i]
>=
2&&f[i]
*i>maxx)
//如果兩個隊伍滿足
maxx=f[i]
*i;//求乙個最大的
printf
("%lld"
,maxx)
;}
(紀中)1965 普組模擬賽 馬球比賽 數學
file io input polo.in output polo.out 時間限制 1000 ms 空間限制 128000 kb 具體限制 goto problemset 題目描述 在解決了馬語翻譯問題後,馬匹數量越來越多,不少鄉鎮都有了數量可觀的馬匹,開始出現馬球比賽。鄉鎮之間決定進行馬球聯賽。...
普組模擬賽 馬農
普組模擬賽 馬農 題目 在 完戰馬檢閱之後,來自大草原的兩兄弟決心成為超級 馬農 專門飼養戰馬。兄弟兩回到草原,將可以養馬的區域,分為 n n 的單位面積的正方形,並實地進行考察,歸納出了每個單位面積可以養馬所獲得的收益。接下來就要開始規劃他們各自的馬場了。首先,兩人的馬場都必須是矩形區域。同時,為...
普組模擬賽 馬語翻譯
普組模擬賽 馬語翻譯 題目 隨著馬場的繁榮,出現了越來越多的新馬種。種族之間的溝通不暢嚴重影響了馬場的和諧。這時,科學家發明了馬語翻譯機械人,正好可以解決這一難題。機械人有 m 種,每種機械人能完成 k 個馬種之間的語言翻譯。問,利用這些機械人,能否實現 1 種群和 n 種群的馬語翻譯。若可以,找到...