1 Problem Description

  • Problem

    The final match of the Berland Football Cup has been held recently. The referee has shown n yellow cards throughout the match. At the beginning of the match there were a1 players in the first team and a2 players in the second team. The rules of sending players off the game are a bit different in Berland football. If a player from the first team receives k1 yellow cards throughout the match, he can no longer participate in the match — he’s sent off. And if a player from the second team receives k2 yellow cards, he’s sent off. After a player leaves the match, he can no longer receive any yellow cards. Each of n yellow cards was shown to exactly one player. Even if all players from one team (or even from both teams) leave the match, the game still continues. The referee has lost his records on who has received each yellow card. Help him to determine the minimum and the maximum number of players that could have been thrown out of the game.

  • Input

    The first line contains one integer a1 (1 ≤ a1 ≤ 1 000) — the number of players in the first team.The second line contains one integer a2 (1 ≤ a2 ≤ 1 000) — the number of players in the second team.The third line contains one integer k1 (1 ≤ k1 ≤ 1 000) — the maximum number of yellow cards a player from the first team can receive (after receiving that many yellow cards, he leaves the game).The fourth line contains one integer k2 (1 ≤ k2 ≤ 1 000) — the maximum number of yellow cards a player from the second team can receive (after receiving that many yellow cards, he leaves the game).The fifth line contains one integer n (1 ≤ n ≤ a1 · k1 + a2 · k2) — the number of yellow cards that have been shown during the match.

  • Output

    Print two integers — the minimum and the maximum number of players that could have been thrown out of the game.

  • Examples

  • Note

    In the first example it could be possible that no player left the game, so the first number in the output is 0. The maximum possible number of players that could have been forced to leave the game is 4 — one player from the first team, and three players from the second.

    In the second example the maximum possible number of yellow cards has been shown (3 · 6 + 1 · 7 = 25),so in any case all players were sent of

2 Problem Analysis

3 Code

/*
Yellow Cards - GYM - 102348 - Problem:A - 2019-09-29
[Problem Description] https://codeforces.com/gym/102348/problem/A
[Contest Material] https://codeforces.com/gym/102348/attachments/download/9362/statements.pdf
[Contest Information]
[Name] Southern and Volga Russia Qualifier 2019-2020 (GYM)
[Start] Sep/17/2019 00:00UTC+8
[Length] 04:00 (Hour)
[Other] Final standings / Prepared by BledDest Official ICPC Contest Northeastern Europe Region Russia, Saratov, 2019-2020 Statements: in English, in Russian
*/
#include<stdio.h>
#include<iostream>
using namespace std; int min(int a1, int a2, int k1, int k2, int n){
int total = a1*(k1-1) + a2*(k2-1);
if(n <= total){
return 0;
} else {
return (n - total);
}
} int max(int a1, int a2, int k1, int k2, int n){
int minTeamOfYellowCardsNum[2];
minTeamOfYellowCardsNum[0] = k1<k2?a1:a2;
minTeamOfYellowCardsNum[1] = k1<k2?k1:k2;
int temp1 = minTeamOfYellowCardsNum[0]*minTeamOfYellowCardsNum[1];
int temp2 = a1*k1 + a2*k2;
//printf("Amin*Kmin: %d\n", temp1);
//printf("A1*K1+A2*K2: %d\n", temp2);
if(n <= temp1){
return n/minTeamOfYellowCardsNum[1];// n < temp1
} else {
//printf("n/minTeamOfYellowCardsNum[1]: %d\n", n/minTeamOfYellowCardsNum[1]);
//printf("n: %d | Amin*Kmin(temp2): %d\n",n, temp2);
int maxTeamOfYellowCardsNum[2];
maxTeamOfYellowCardsNum[0] = k1>k2?a1:a2;
maxTeamOfYellowCardsNum[1] = k1>k2?k1:k2;
return minTeamOfYellowCardsNum[0] + ( ( n - temp1 )/maxTeamOfYellowCardsNum[1]);
}
} int main(){
int a1,a2;
int k1,k2;
int n;
scanf("%d\n%d\n%d\n%d\n%d", &a1, &a2, &k1, &k2, &n);
//printf("%d\n%d\n%d\n%d\n%d\n", a1, a2, k1, k2, n);//test output
printf("%d\n", min(a1, a2, k1, k2, n));
printf("%d", max(a1, a2, k1, k2, n));
return 0;
}

Congratulations~

4 Problem Related Information

5 Recommend Documents

[C++]Yellow Cards - GYM - 102348A(Practice *) - CodeForces的更多相关文章

  1. Codeforces Round #585 (Div. 2) A. Yellow Cards(数学)

    链接: https://codeforces.com/contest/1215/problem/A 题意: The final match of the Berland Football Cup ha ...

  2. A. Yellow Cards ( Codeforces Round #585 (Div. 2) 思维水题

    ---恢复内容开始--- output standard output The final match of the Berland Football Cup has been held recent ...

  3. 【Yellow Cards CodeForces - 1215A 】【贪心】

    该题难点在于求最小的离开数,最大的没什么好说的,关键是求最小的. 可以这样去想,最小的离开数就是每个人获得的牌数等于他所能接受的最大牌数-1,这样就可以直接比较m=a1(k1-1)+a2(k2-1)与 ...

  4. Game of Cards Gym - 101128G (SG函数)

    Problem G: Game of Cards \[ Time Limit: 1 s \quad Memory Limit: 256 MiB \] 题意 题意就是给出\(n\)堆扑克牌,然后给出一个 ...

  5. CodeForces 471C MUH and House of Cards

    MUH and House of Cards Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & % ...

  6. Codeforces Round #384 (Div. 2) E. Vladik and cards 状压dp

    E. Vladik and cards 题目链接 http://codeforces.com/contest/743/problem/E 题面 Vladik was bored on his way ...

  7. Gym100947E || codeforces 559c 组合数取模

    E - Qwerty78 Trip Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u S ...

  8. Codeforces Round #281 (Div. 2)

    题目链接:http://codeforces.com/contest/493 A. Vasya and Football Vasya has started watching football gam ...

  9. CodeForces 512B(区间dp)

    D - Fox And Jumping Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64 ...

随机推荐

  1. Anaconda配置Python开发环境

    Anaconda介绍 Anaconda 是在 linux.windows 和 mac os x 上执行 Python/R 数据分析和机器学习的最简单的方式并且它是开源的.它在全球拥有超过 1, 100 ...

  2. 谷歌,火狐提示来自"http://xxx.com/file"的资源已被阻止,因为 MIME 类型("text/plain")不匹配(X-Content-Type-Options: nosniff),如何解决?

    在使用ueditor编辑的过程中无法上传图片,谷歌火狐浏览器提示Cross-Origin Read Blocking (CORB) blocked cross-origin response http ...

  3. Linux文件系统之install(复制文件和设置文件属性)

    install命令 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户.install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点.但是,install允许你控制目标 ...

  4. elasticsearch查询:启动项目报错No property ... found for...Did you mean '...'?

    网上找的案例是: 实体类字段定义:private String sku_no;dao中接口名定义:Goods findBySkuNo(String skuNo);spring-data按照接口方法定义 ...

  5. ELK---- kibana 安装 学习

    我已经安装了java环境,和elasticsearch.这只有存储,那么管理界面工具什么的,目前还没有,我就是用kibana进行安装. Kibana是一个开源的分析和可视化平台,设计用于和Elasti ...

  6. Catalan Number-卡特兰数入门

    卡特兰数 首先,我们设f(n)=序列个数为n的出栈序列种数.同时,我们假定,从开始到栈第一次出到空为止,这段过程中第一个出栈的序数是k.特别地,如果栈直到整个过程结束时才空,则k=n. 令h(0)=1 ...

  7. GitHub 在国内无法访问

    解决方法: 1.打开Dns检测|Dns查询 - 站长工具 2.在检测输入栏中输入http://github.com官网 3.把检测列表里的TTL值最小的IP输入到hosts里,并对应写上github官 ...

  8. 逆元 x

    逆元: 丢线 1.首先定义: 若存在正整数a,x,m,且满足ax≡1(mod m),则称a是x的乘法逆元,或称x是a的乘法逆元. Eg: 模7意义下,3的乘法逆元是5(或模7意义下,5的乘法逆元是3) ...

  9. LibreOJ #102. 最小费用流

    二次联通门 : LibreOJ #102. 最小费用流 /* LibreOJ #102. 最小费用流 Spfa跑花费 记录路径 倒推回去 */ #include <cstring> #in ...

  10. 爬虫之解析库Xpath

    简介 XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言. XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力.起初XPat ...