CSU-2007 Football Training Camp
Football Training Camp
在一次足球联合训练中一共有n支队伍相互进行了若干场比赛。 对于每场比赛,赢了的队伍得3分,输了的队伍不得分,如果为平局则两支队伍各得1分。
Input
输入包含不超过1000组数据。 每组数据的第一行为一个整数n(2 ≤ n ≤ 20),第二行为n个整数s1, s2, …, sn(0 ≤ si ≤ 200, 1 ≤ i ≤ n),即各个队伍目前的得分。
Output
对于每组数据,用一行输出最少以及最多进行了多少场比赛,中间用一个空格隔开。 数据保证不会出现无解情况。
Sample Input
2
7 4
3
1 5 1
2
0 0
Sample Output
4 5
3 3
0 0
题解 : 还是太菜呀,想的情况太少了,一开始直觉就是简单贪心,就是最多比赛是全是平局,最少比赛就是最多赢的局,也确实没什么问题,但是细节把握太差,考虑不细致,即有时并不是全打平局,举个数据
3
6 0 0
用优先队列维护,并找到最后一个能构成全是平局的局面,就退出。那什么情况是可以全打平局呢? 最大值*2<=sum&&sum%2==0;
#include<stdio.h>
#include<queue>
using namespace std;
priority_queue<int >que;
int a[1001];
const int INF=0x3f3f3f3f;
int main()
{
int n;
// freopen("data.txt","r",stdin );
while(scanf("%d",&n)!=EOF)
{
int sum=0,m=0,ans=0;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i] );
que.push(a[i]);
sum+=a[i];
}
int MAX=0,MIN=INF,tot=0;
while(1)
{
int k=que.top();que.pop();
if(k*2<=sum&&sum%2==0)
{
MAX=max(tot+sum/2,MAX);
MIN=min(tot+sum/2,MIN);
}
if(k<3)
break;
sum-=3;
que.push(k-3);
tot++;
}
printf("%d %d\n",MIN,MAX );
while(!que.empty())
que.pop();
}
return 0;
}
/*
15
175 31 101 0 71 60 45 101 168 55 168 151 25 37 50
5
30 27 99 195 27
10
195 179 132 162 147 55 166 42 142 53
6
147 50 193 161 176 81
*/
CSU-2007 Football Training Camp的更多相关文章
- 湖南省第十三届大学生计算机程序设计竞赛 Football Training Camp 贪心
2007: Football Training Camp[原创-转载请说明] Submit Page Summary Time Limit: 1 Sec Memory Limit: 1 ...
- 2017 湖南省赛 K Football Training Camp
2017 湖南省赛 K Football Training Camp 题意: 在一次足球联合训练中一共有\(n\)支队伍相互进行了若干场比赛. 对于每场比赛,赢了的队伍得3分,输了的队伍不得分,如果为 ...
- 2015 UESTC Winter Training #7【2010-2011 Petrozavodsk Winter Training Camp, Saratov State U Contest】
2015 UESTC Winter Training #7 2010-2011 Petrozavodsk Winter Training Camp, Saratov State U Contest 据 ...
- 2015-2016 Petrozavodsk Winter Training Camp, Nizhny Novgorod SU Contest (5/9)
2015-2016 Petrozavodsk Winter Training Camp, Nizhny Novgorod SU Contest B. Forcefield 题意 给你一维平面上n个镜子 ...
- Petrozavodsk Summer Training Camp 2017 Day 9
Petrozavodsk Summer Training Camp 2017 Day 9 Problem A. Building 题目描述:给出一棵树,在树上取出一条简单路径,使得该路径的最长上升子序 ...
- Petrozavodsk Summer Training Camp 2017
Petrozavodsk Summer Training Camp 2017 Problem A. Connectivity 题目描述:有\(n\)个点,现不断地加边.每条边有一种颜色,如果一个点对\ ...
- Petrozavodsk Winter Training Camp 2018
Petrozavodsk Winter Training Camp 2018 Problem A. Mines 题目描述:有\(n\)个炸弹放在\(x\)轴上,第\(i\)个位置为\(p_i\),爆炸 ...
- Warsaw U Contest Petrozavo dsk Summer 2011 Training Camp, Monday, September 5, 2011
Warsaw U Contest Petrozavo dsk Summer 2011 Training Camp, Monday, September 5, 2011 Problem A.Chocol ...
- 2016 Al-Baath University Training Camp Contest-1
2016 Al-Baath University Training Camp Contest-1 A题:http://codeforces.com/gym/101028/problem/A 题意:比赛 ...
随机推荐
- 最简实例演示asp.net5中用户认证和授权(1)
asp.net5中,关于用户的认证和授权提供了非常丰富的功能,如果结合ef7的话,可以自动生成相关的数据库表,调用也很方便. 但是,要理解这么一大堆关于认证授权的类,或者想按照自己项目的特定要求对认证 ...
- windows 2012 r2 x64 安装IIS注意事项
详细安装可以参考下面; https://jingyan.baidu.com/article/93f9803f234eade0e46f559f.html 下面只说一些注意事项,如果项目要用到wcf 的话 ...
- cucumber的疑问解答
在cucumber的自动化测试框架下面,在一个steps文件中定义的@page对象,可以在其他的不同的steps文件中调用,在整个的场景生命周期中都是有效的 原因:cucumber开始执行时,一次性把 ...
- Vmware 可用的激活码
4F207-8HJ1M-WZCP8-000N0-92Q6G 0A6Z5-8H1EJ-WZCL1-PK072-23DJG 0F0Q9-8F38L-RZXT9-4U054-ACW5F JA02E-09H4 ...
- UPDATE SQL 不同环境执行结果不一样
背景:1.前台:JQUERY 提交数据 2.后台:OWIN C# 处理接收数据 3.数据库: postgresql ========================================= ...
- Nobody gives away anything valuable for free.
Nobody gives away anything valuable for free.没人会给你免费的午餐.
- ArcGIS 从FileGDB中导出数据异常 000732
错误代码:000732 产生原因:文件夹命名时起名为“xxx.gdb”,造成是系统识别异常.
- 安装windows phone 7
本机环境win7 32位旗舰版,本来是4G内存的 系统只能读出2.9G,vs2010中文旗舰版,想搭建windows phone环境学习wp手机开发.安装完了之后明显感觉机器慢了些. ①:安装Mic ...
- npm常用指令小记
查看本地指定包在npm远程服务器的版本信息 方式一: npm view <packageName> versions 方式二: npm info <packageName> 查 ...
- 禁止windows自动更新后重新启动
运行gpedit.msc: 按照下图操作: 参考:http://www.xitongcheng.com/jiaocheng/win7_article_94.html