codeforces - A. Yellow Cards

 题目链接:http://codeforces.com/gym/102348/problem/A

 

A. Yellow Cards

time limit per test

1.0 s

memory limit per test

256 MB

input

standard input

output

standard output

The final match of the Berland Football Cup has been held recently. The referee has shown nn yellow cards throughout the match. At the beginning of the match there were a1a1 players in the first team and a2a2 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 k1k1 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 k2k2 yellow cards, he's sent off. After a player leaves the match, he can no longer receive any yellow cards. Each of nn 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 a1a1 (1≤a1≤1000)(1≤a1≤1000) — the number of players in the first team.

The second line contains one integer a2a2 (1≤a2≤1000)(1≤a2≤1000) — the number of players in the second team.

The third line contains one integer k1k1 (1≤k1≤1000)(1≤k1≤1000) — 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 k2k2 (1≤k2≤1000)(1≤k2≤1000) — 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 nn (1≤n≤a1⋅k1+a2⋅k2)(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

input

Copy

2
3
5
1
8

output

Copy

0 4

input

Copy

3
1
6
7
25

output

Copy

4 4

input

Copy

6
4
9
10
89

output

Copy

5 9

Note

In the first example it could be possible that no player left the game, so the first number in the output is 00. The maximum possible number of players that could have been forced to leave the game is 44 — 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)(3⋅6+1⋅7=25), so in any case all players were sent off.

 

思路:只需要对n和a1 * k1  + a2 * k2的大小进行判断

 

代码:

    #include <bits/stdc++.h>

    using namespace std;

    int main()
    {
        int a0, a1, a2, k0, k1, k2, n;
        scanf("%d %d %d %d %d", &a1, &a2, &k1, &k2, &n);
        //规定a1的k必须大于a2

        if(k1 < k2)
        {
            swap(k1, k2);
            swap(a1, a2);
        }
        a0 = a1 * (k1 - 1) + a2 *(k2 - 1);
        if(n <= a0)
            printf("0 ");
        else if(n - a0 <= a1 + a2)
            printf("%d ", n - a0);
        else
            printf("%d ", a1 + a2);

        if(n < a2 * k2)
            printf("%d\n", n / k2);
        else if(n < a2 * k2 + a1 * k1)
            printf("%d\n", a2 + (n - a2 * k2) / k1);
        else
            printf("%d\n", a1 + a2);
             return 0;
    }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值