求调 ABC349D
  • 板块学术版
  • 楼主Mr_Biantainne
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/4/13 21:41
  • 上次更新2024/4/14 06:50:04
查看原帖
求调 ABC349D
545601
Mr_Biantainne楼主2024/4/13 21:41

WA×4WA \times 4

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll l, r, cnt, recp;
vector <pair <ll, ll> > v1, v2;
int main()
{
	cin >> l >> r;
	ll t = log2(r - l), t2 = pow(2, t), rec = r / t2 * t2;
	ll p = rec, val = t2;
	while (p > l)
	{
		if (p - val < l)
		{
			val = log2(p - l);
			val = pow(2, val);
		}
		v1.push_back(make_pair(p - val, p));
		p -= val;
	}
	p = rec, val = t2;
	while (p < r)
	{
		if (p + val > r)
		{
			val = log2(r - p);
			val = pow(2, val);
		}
		v2.push_back(make_pair(p, p + val));
		p += val;
	}
	cout << v1.size() + v2.size() << endl; 
	for (ll i = v1.size() - 1; i >= 0; i--) cout << v1[i].first << " " << v1[i].second << endl;
	for (pair <ll, ll> i : v2) cout << i.first << " " << i.second << endl;
}
2024/4/13 21:41
加载中...