2007: Football Training Camp【原创-转载请说明】

Submit Page   Summary   Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 228     Solved: 30


Description

在一次足球联合训练中一共有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

Hint

Source

湖南省第十三届大学生计算机程序设计竞赛

题解:比赛的时候陷在错误的思路里     其实这个题目真的水

每一场比赛如果是平局就总分增加2分    不然就加3分

所以要得到最多的比赛场次  就要优先平局

要得到最少的比赛场次   就要优先胜局

如果设置胜场的数目     如果总分为奇数   胜场数的下届就是1   不然就是0

因为如果是奇数  说明至少有一场是胜场

胜场数的上界就是    m

for(int i=0; i<n; ++i)
{
     if(a[i]>=3)
    m+=a[i]/3;
}

然后枚举胜场的场次      每一次增加2场胜场   保证剩下的总分是偶数

每一次枚举判断一下剩下的比分可不可以构成全是平局

如果可以的话     就说明这是一种符合情况的胜场次数

然后取符合情况中间   胜场最少的  和最多的    就是我们要求的答案了

 #include<stdio.h>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<string.h>
#include<stack>
#include<queue>
using namespace std;
int a[];
int main()
{
int n,sum,m,ff,temp;
while(cin>>n)
{
int num1,num2;
ff=;
priority_queue<int ,vector<int > ,less<int> >que;
sum=;
m=;
while(!que.empty())
{
que.pop();
}
for(int i=; i<n; ++i)
{
scanf("%d",&a[i]);
sum+=a[i];
que.push(a[i]);
if(a[i]>=)
m+=a[i]/;
}
if(m==)
{
printf("%d %d\n",sum/,sum/);
continue;
}
if(sum%==)
{
ff=;
temp=que.top()-;
que.pop();
que.push(temp);
m--;
sum-=;
}
int flag=;
if((*que.top()<=sum))
{
num1=ff+sum/;
num2=ff+sum/;
flag=;
}
for(int i=; *i<=m; ++i)
{
temp=que.top()-;
que.pop();
que.push(temp);
temp=que.top()-;
que.pop();
que.push(temp);
sum-=;
if((*que.top()<=sum))//剩下的比分是否可以全部构成平局
{
num1=ff+*i+sum/;
if(flag==)
{
num2=ff+*i+sum/;
flag=;
} }
}
printf("%d %d\n",num1,num2);
}
return ;
}

湖南省第十三届大学生计算机程序设计竞赛 Football Training Camp 贪心的更多相关文章

  1. 2018湖南省第14届大学生计算机程序设计竞赛 D: 卖萌表情

    Description 已知以下 4 种都是卖萌表情(空白的部分可以是任意字符.竖线是便于展示的分隔符,没有实际意义): ^ ^ | ^ | < | > v | v v | > | ...

  2. 2018湖南省第14届大学生计算机程序设计竞赛 C: 时间旅行

    Description 假设 Bobo 位于时间轴(数轴)上 t0 点,他要使用时间机器回到区间 (0, h] 中. 当 Bobo 位于时间轴上 t 点,同时时间机器有 c 单位燃料时,他可以选择一个 ...

  3. 2018湖南省第14届大学生计算机程序设计竞赛 A字符画

    Description 读入 w,请输出 2018 的字符画,两个数字之间有 w 个空格.具体格式请参考样例输出. 1 ≤ w ≤ 2018 Input 输入文件只包含 1 个整数 w. Output ...

  4. 2016年湖南省第十二届大学生计算机程序设计竞赛---Parenthesis(线段树求区间最值)

    原题链接 http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1809 Description Bobo has a balanced parenthes ...

  5. csu 1503: 点弧之间的距离-湖南省第十届大学生计算机程序设计大赛

    这是--比量p并用交点连接中心不上弧.在于:它至p距离.是不是p与端点之间的最短距离 #include<iostream> #include<map> #include< ...

  6. CSUOJ1329——一行盒子_湖南省第九届大学生计算机程序设计竞赛

    题目是中文的我就不是说明了,比赛的时候看过题目后队友说是splay来做,细想来省赛不会出这么坑的题目吧. 于是比赛还有一个小时左右把该做的都做完了以后,我们队三个人都来思考这个题目了.不过还好很快我们 ...

  7. 湖南省第九届大学生计算机程序设计竞赛 Interesting Calculator

    Interesting Calculator Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 163  Solved: 49 Description T ...

  8. 2016年湖南省第十二届大学生计算机程序设计竞赛Problem A 2016 找规律归类

    Problem A: 2016 Time Limit: 5 Sec  Memory Limit: 128 MB Description  给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) ...

  9. 湖南省第十二届大学生计算机程序设计竞赛 F 地铁 多源多汇最短路

    1808: 地铁 Description Bobo 居住在大城市 ICPCCamp. ICPCCamp 有 n 个地铁站,用 1,2,…,n 编号. m 段双向的地铁线路连接 n 个地铁站,其中第 i ...

随机推荐

  1. Buy Fruits-(构造)

    https://ac.nowcoder.com/acm/contest/847/C 在blueland上有 n n个水果店,它们的编号依次为 0,1,2...n−1 0,1,2...n−1.奇妙的是, ...

  2. VS 2015秘钥

    专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

  3. js实现延迟加载

    defer async.await 动态创建DOM jQ的getScript()方法 window.onload().$(document).ready() Promise setTimeout.se ...

  4. ubuntu 安装任何版本的Firefox

    https://ftp.mozilla.org/pub/firefox/releases/ 1.sudo gedit /usr/share/applications/firefox.desktop 2 ...

  5. libvirt原理

    引用原文: https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/80142155 libvirt是目前使用最为广泛的针对KVM虚拟机进 ...

  6. ffmpeg结合SDL编写播放器(一)

    ffmpeg 工具是一个高效快速的命令行工具,进行视音频不同格式之间的转换. ffmpeg命令行 ffmpeg可以读取任意数量的输入“文件”(可以是常规文件,管道,网络流,抓取设备等)读取,由 -i ...

  7. 第08组 Alpha冲刺(3/6)

    队名:955 组长博客:https://www.cnblogs.com/cclong/p/11872693.html 作业博客:https://edu.cnblogs.com/campus/fzu/S ...

  8. zabbix监控nginx,mysql,java

    zabbix 支持的主要监控方式(1)agent代理程序 在Agent监控方式下,zabbix-agent会主动收集本机的监控信息并通过TCP协议与zabbix-server传递信息.Agent 监控 ...

  9. JDBC Api详解

    一.什么是JDBC JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...

  10. 20175211 《实验三 敏捷开发与XP实践》实验报告

    目录 一.实验内容 二.实验步骤 四.实验过程中遇到的问题及其解决方法 五.心得体会 六.码云链接 七.结对成员链接 八.参考资料 一.实验内容 (1)编码标准 (2)Git的使用 (3)重构 (4) ...