小红的区间构造 - 代码

区间构造,一般就是把左右端点用公式表示出来,多写几组用例找找规律,推出公式即可。

推不出来再考虑用循环遍历枚举。

本代码为前者,记得开 long long。

#include <iostream>

using namespace std;
using ll = long long;

int main() {
	ll n, k, x; cin >> n >> k >> x;
	ll d = x * 2 - 2;
	ll r = x * (n + 1) - 1, l = r - d;
	if(k >= l && k <= r) {
		if(k <= (l + r) / 2) cout << x << " " << x + k - 1 << endl;
		else cout << x + 1 << " " << x + k << endl;
	} else 	cout << -1 << endl;
	return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务