To_Heart—题解——CF854B

最小值很简单,我们只需要把所有的公寓全部挤在一起,那么供他选择的就只有一个。

如果公寓数量等于N或根本没有公寓,那么就没有他的安身之所。

对于最大值,因为一个公寓的左右两边都可以让Maxim住,所以每三个一组,每组放一个公寓,最多分成 n 3 \frac{n}{3} 3n个组。

如果公寓数量大于了 n 3 \frac{n}{3} 3n,则不可能分更多的组,所以满足题意的就是剩下所有的公寓。

#include<bits/stdc++.h>
using namespace std;

int main(){
	long long  n,k;
	cin>>n>>k;
	if(n==k||k==0){
		printf("0 0");
		return 0;
	}
	else{
		printf("1 ");
		if(k*3<n){	
			printf("%d",2*k);
		}
		else{
			printf("%d",n-k);
		}
	}
}
posted @ 2021-02-06 11:50  To_Heart  阅读(11)  评论(0编辑  收藏  举报