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. less网站

    less中文网站:http://lesscss.cn/ 旧版的:http://www.bootcss.com/p/lesscss/

  2. java线程基础巩固---多线程死锁分析,案例介绍

    之前已经学习了关于同步锁的知识,但是在实际编写多线程程序时可能会存在死锁的情况,所以这次来模拟一下死锁,并且学会用一个命令来确认是否程序已经出现死锁了,下面开始: 首先新建两个类: 此时当然得到Oth ...

  3. 前端笔记-dom

    dom(document object model) -文档对象模型,包含整个页面所有功能,可以通过调用方法的形式来操作页面,所以js和dom结合在一起可以写一些逻辑性的语言 dom的对象 dom有5 ...

  4. 用7天找到月薪9K的Linux运维工作,就靠这四点

    作者:99527 来源:http://www.yunweipai.com/archives/20865.html 毕业后做了1年IDC运维,每天看看服务器状态,检查检查硬盘.内存什么的,工作没什么技术 ...

  5. IP选项处理

    1:引言 I P输入函数(i p i n t r)将在验证分组格式(检验和,长度等)之后,确定分组 是否到达目的地之前,对选项进行处理.这表明,分组所遇到的每个路由器以及最终的目的主机都要对分组的选项 ...

  6. 为什么Object.prototype在Function的原型链上与Function.prototype在Object的原型链上都为true

    关于javascript的原型链有一个问题我一直很疑惑:为什么 Function instanceof Object 与 Object instanceof Function都为true呢? Func ...

  7. BZOJ 5495: [2019省队联测]异或粽子 (trie树)

    这题果然是原题[BZOJ 3689 异或之].看了BZOJ原题题解,发现自己sb了,直接每个位置维护一个值保存找到了以这个位置为右端点的第几大,初始全部都是1,把每个位置作为右端点能够异或出来的最大值 ...

  8. DRF-认证 权限 频率组件

    补充 1 认证 权限 频率组件原理基本相同 2 认证相关: session cookie token 认证相关的  这里用token token 1 有时间限制,超时则失效 2 每次登录更换一个tok ...

  9. centos7 配置静态ip时出现双ip问题解决

    1.先用ifconfig,看看有几个网卡 2.执行vi /etc/sysconfig/network-scripts/ifcfg-eth0最后的网卡名字改为实际的 3.静态ip只需要设置着几个地方,B ...

  10. c++ 排序,<< 运算符重载

    #include <iostream> #include <functional> #include <list> using namespace std; ost ...