Codeforces 854B. Maxim Buys an Apartment 水题

来源:互联网 发布:java就业班学什么 编辑:程序博客网 时间:2024/05/16 13:07

题意

有一排n(1e9)个房子,已知里面有k个已经有人居住.剩余的为空.
询问最小和最大的情况下,一个房子为空但是紧邻着不为空房的个数.

解法

首先当k=0或者k=n时,ans=0.
最小时,所有有人居住的房子挤在一边,ans=1.
最大时,一个有人居住的房子最多在他周围产生两个满足条件的房子,且最少会有n-k个.
ans=min(2*k,n-k);

代码

/* LittleFall : Hello! */#include <bits/stdc++.h>using namespace std;int main(void){    int n,k;    scanf("%d%d",&n,&k);    if(k==0||k==n)        printf("0 0\n");    else        printf("%d %d\n",1,min(k*2,n-k) );    return 0;}
阅读全文
0 0
原创粉丝点击