水题

Maxim wants to buy an apartment in a new house at Line Avenue of Metropolis. The house has n apartments that are numbered from 1 to n and are arranged in a row. Two apartments are adjacent if their indices differ by 1. Some of the apartments can already be inhabited, others are available for sale.

Maxim often visits his neighbors, so apartment is good for him if it is available for sale and there is at least one already inhabited apartment adjacent to it. Maxim knows that there are exactly k already inhabited apartments, but he doesn't know their indices yet.

Find out what could be the minimum possible and the maximum possible number of apartments that are good for Maxim.

Input

The only line of the input contains two integers: n and k (1 ≤ n ≤ 1090 ≤ k ≤ n).

Output

Print the minimum possible and the maximum possible number of apartments good for Maxim.

Example
Input
6 3
Output
1 3
Note

In the sample test, the number of good apartments could be minimum possible if, for example, apartments with indices 12 and 3 were inhabited. In this case only apartment 4 is good. The maximum possible number could be, for example, if apartments with indices 13 and 5 were inhabited. In this case all other apartments: 24 and 6 are good.

题意:n个房间,其中有 k 个已经被出租,定义一个空房间左边或者右边有被出租的房子为好房子,求好房子的最大和最小情况。

题解:b==0或者b>=a的时候直接输出0 0,否则和b*3做比较,最小的一定是1,因为房子挤成一堆放一边,最大的情况:一个房子周围有2个空位,那么如果房子数小于b*3,直接输出a-b,否则输出2*b。

#include<stdio.h>
int main()
{
    int a,b,c,sum;
    scanf("%d %d",&a,&b);
    if(a<=b||b==0)
    {
        printf("0 0\n");
    }
    else
    {
    c=a/3+1;
    if(b>=c)
    {
        sum=a-b;
    }
    else sum=2*b;
    printf("1 %d\n",sum);
    }
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值