Please sign in first.
Submission #46014595
Source Code Expand
// LUOGU_RID: 126497667 #include<bits/stdc++.h> #define int long long using namespace std; int n; int clac(int x,int d) { if(d > __lg(n / x)) { return 0; } int l = x << d,r = (x << d) + ((1ll << d) - 1); return min(r,n) - l + 1; } void solve() { int x,m,ans = 0; cin >> n >> x >> m; for(int t = 0;(x >> t) >= 1 && t <= m;t++) { int y = x >> t; int k = m - t; if(t == 0) { ans += clac(x,k); } else { ans += clac(y,k); if(t < m) { ans -= clac(x >> (t - 1),m - t - 1); } } } cout << ans << '\n'; } signed main() { int T; cin >> T; while(T--) { solve(); } return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Complete Binary Tree |
User | feather_life |
Language | C++ 17 (gcc 12.2) |
Score | 450 |
Code Size | 840 Byte |
Status | AC |
Exec Time | 196 ms |
Memory | 3656 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 450 / 450 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 01_small_00.txt, 02_large_00.txt, 02_large_01.txt, 02_large_02.txt, 02_large_03.txt, 02_large_04.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 1 ms | 3468 KiB |
00_sample_01.txt | AC | 1 ms | 3488 KiB |
01_small_00.txt | AC | 58 ms | 3500 KiB |
02_large_00.txt | AC | 196 ms | 3656 KiB |
02_large_01.txt | AC | 193 ms | 3504 KiB |
02_large_02.txt | AC | 192 ms | 3468 KiB |
02_large_03.txt | AC | 192 ms | 3464 KiB |
02_large_04.txt | AC | 195 ms | 3560 KiB |