码迷,mamicode.com
首页 > 其他好文 > 详细

E - Teams

时间:2017-07-21 01:27:55      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:++   amp   pre   for   style   c++   span   print   bit   

 1 /*
 2 n个学校,第i个有 个参赛者,一个队伍k个人,每个队伍所有人必须来自同一学校,
 3 求k使得队伍数量m最少。
 4 因为k必须整除每个学校的参赛者数量
 5 直接用gcd
 6 */
 7 #include <bits/stdc++.h>
 8 using namespace std;
 9 int gcd(int a,int b)
10 {
11      return b ? gcd(b,a%b) : a;
12 }
13 int main()
14 {
15     int n;
16     scanf("%d",&n);
17     while(n--)
18     {
19         int m;
20         int num[1010];
21         scanf("%d",&m);
22         for(int i=0;i<m;i++)
23             scanf("%d",&num[i]);
24         if(m==1)
25         {
26             printf("%d 1\n",num[0]);
27             continue;
28         }
29         int b=gcd(num[0],num[1]);
30         for(int i=2;i<m;i++)
31             b=gcd(b,num[i]);
32         int sum=0;
33         for(int i=0;i<m;i++)
34             sum=sum+num[i]/b;
35         printf("%d %d\n",b,sum);
36     }
37 }

 

E - Teams

标签:++   amp   pre   for   style   c++   span   print   bit   

原文地址:http://www.cnblogs.com/kearon/p/7215283.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!