提出 #52343284
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
using Int = long long;
Int f(Int b)
{
Int t = 1LL;
while (t <= b)
{
t <<= 1;
}
return t;
}
Int g(Int n){
Int res = 0;
while(n > 0){
if(n % 2 == 0){
res++;
n /= 2;
} else {
break;
}
}
return res;
}
Int cnt(Int bit)
{
Int res = 0;
Int crt = 1LL;
while (crt <= bit)
{
res += ((crt & bit) != 0);
crt = (crt << 1LL);
}
return res;
}
int main()
{
Int l, r;
cin >> l >> r;
vector<pair<Int, Int>> ans;
Int crt = l;
while (crt < r)
{
if(crt == 0){
Int t = 1LL;
while((t << 1LL) <= r){
t = (t << 1LL);
}
ans.push_back({0, t});
crt = t;
continue;
}
Int p = g(crt);
Int maxi = -1;
for(Int i = p; i >= 0; --i){
Int x = crt / powl(2LL, i);
Int nl = powl(2LL, i) * (x + 1);
if(nl > r) continue;
maxi = max(maxi, nl);
}
ans.push_back({crt, maxi});
crt = maxi;
}
cout << ans.size() << endl;
for (auto [a, b] : ans)
{
cout << a << " " << b << endl;
}
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Divide Interval |
| ユーザ | yebityon |
| 言語 | C++ 20 (gcc 12.2) |
| 得点 | 450 |
| コード長 | 1360 Byte |
| 結果 | AC |
| 実行時間 | 3 ms |
| メモリ | 3644 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 450 / 450 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All | 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_01.txt | AC | 1 ms | 3628 KiB |
| 00_sample_02.txt | AC | 1 ms | 3636 KiB |
| 00_sample_03.txt | AC | 1 ms | 3540 KiB |
| 01_test_01.txt | AC | 1 ms | 3500 KiB |
| 01_test_02.txt | AC | 1 ms | 3464 KiB |
| 01_test_03.txt | AC | 1 ms | 3640 KiB |
| 01_test_04.txt | AC | 2 ms | 3636 KiB |
| 01_test_05.txt | AC | 2 ms | 3548 KiB |
| 01_test_06.txt | AC | 2 ms | 3552 KiB |
| 01_test_07.txt | AC | 2 ms | 3576 KiB |
| 01_test_08.txt | AC | 2 ms | 3556 KiB |
| 01_test_09.txt | AC | 2 ms | 3528 KiB |
| 01_test_10.txt | AC | 2 ms | 3644 KiB |
| 01_test_11.txt | AC | 2 ms | 3556 KiB |
| 01_test_12.txt | AC | 2 ms | 3504 KiB |
| 01_test_13.txt | AC | 2 ms | 3596 KiB |
| 01_test_14.txt | AC | 2 ms | 3640 KiB |
| 01_test_15.txt | AC | 2 ms | 3544 KiB |
| 01_test_16.txt | AC | 2 ms | 3508 KiB |
| 01_test_17.txt | AC | 2 ms | 3644 KiB |
| 01_test_18.txt | AC | 2 ms | 3544 KiB |
| 01_test_19.txt | AC | 2 ms | 3536 KiB |
| 01_test_20.txt | AC | 2 ms | 3456 KiB |
| 01_test_21.txt | AC | 1 ms | 3404 KiB |
| 01_test_22.txt | AC | 2 ms | 3540 KiB |
| 01_test_23.txt | AC | 2 ms | 3460 KiB |
| 01_test_24.txt | AC | 3 ms | 3460 KiB |
| 01_test_25.txt | AC | 1 ms | 3636 KiB |
| 01_test_26.txt | AC | 1 ms | 3568 KiB |
| 01_test_27.txt | AC | 1 ms | 3516 KiB |
| 01_test_28.txt | AC | 1 ms | 3636 KiB |
| 01_test_29.txt | AC | 1 ms | 3536 KiB |