提出 #45894804
ソースコード 拡げる
#include <iostream>
#include <vector>
#include <string>
#include <queue>
#include <map>
#include <set>
#include <iomanip>
#include <array>
#include <algorithm>
#include <random>
#include <chrono>
#include <assert.h>
#include <cstring>
#include <stack>
using namespace std;
// #defines
#define mkuni(v) sort(all(v)); v.erase(unique(all(v)), v.end())
#define all(v) v.begin(), v.end()
#define endl '\n'
#define ll long long
#define vint vector<int>
#define vll vector<ll>
#define vvint vector<vector<int>>
#define watch(x) dbg((#x), " : ", (x), '\n')
// #define watch(x) cerr << #x << " : " << (x) << '\n';
#ifndef ONLINE_JUDGE
#define DEBUG true
#endif
// ----------------------------------------------
// print statements
// ----------------------------------------------
template<typename T>
istream& operator>>(istream &in, vector<T> &v) {
for (auto &x : v) in >> x;
return in;
}
template<typename T>
ostream& operator<<(ostream &out, vector<T> &v) {
out << "{";
for (auto &x : v) out << x << " ";
out << "}\n";
return out;
}
template<typename Iterable>
void prnv(const Iterable& iterable, ostream&out = cout) {
if (iterable.begin() == iterable.end()) {
out << endl;
return;
}
auto x = iterable.begin();
out << *x;
for (++x; x != iterable.end(); ++x) out << ' ' << *x;
out << endl;
}
void prn(char en = '\n') {
cout << en;
}
template<typename T, typename... Args>
void prn(T x, Args... args) {
cout << x << " ";
prn(args...);
}
void dbg() {
cerr << endl;
}
#ifdef DEBUG
template<typename T, typename... Args>
void dbg(T x, Args... args) {
cerr << x << " ";
dbg(args...);
}
#else
template<typename T, typename... Args>
void dbg(T x, Args... args) {}
#endif
// ----------------------------------------------
/* ----------------------------------------------
* Juvenile shortcuts
* ---------------------------------------------- */
template<typename T> void setmin(T &a) {}
template<typename T, typename... Args> void setmin(T &a, T b, Args... args) {a = (a > b ? b : a); setmin(a, args...);}
template<typename T> void setmax(T &a) {}
template<typename T, typename... Args> void setmax(T &a, T b, Args... args) {a = (a < b ? b : a); setmax(a, args...);}
// ----------------------------------------------
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
#define rand(l, r) uniform_int_distribution<ll>(l, r)(rng)
// const int MOD = (int)1e9 + 7;
// const int MOD = 998244353;
const int oo = (int)1e9;
const int N = (int)2500 + 5;
const int SZ = 26;
const int TSZ = (int)1e7;
// #define DEBUG false
ll getchld(ll n, ll N, ll k) {
if (k < 0) return 0;
if (n > N) return 0;
ll mn = n, mx = n;
for (ll j=0;j<=k;++j) {
if (j == k) {
return mx - mn + 1;
}
mn <<= 1;
mx <<= 1; mx |= 1;
mx = min(mx, N);
if (mn > N) {
return 0;
}
}
return 0;
}
ll getdst(ll n, ll N, ll k) {
ll ans = getchld(n, N, k);
if (n > 1) {
ans += getdst(n>>1, N, k-1);
ans -= getchld(n, N, k-2);
}
return ans;
}
void solve() {
ll n, x, k;
cin >> n >> x >> k;
prn(getdst(x, n, k));
}
int main() {
ios_base::sync_with_stdio(false); cin.tie(NULL);
cout << fixed << setprecision(10);
int T = 1;
cin >> T;
while (T--) {
solve();
}
return 0;
}
提出情報
コンパイルエラー
./Main.cpp:79:12: warning: unused parameter 'x' [-Wunused-parameter]
void dbg(T x, Args... args) {}
^
./Main.cpp:79:23: warning: unused parameter 'args' [-Wunused-parameter]
void dbg(T x, Args... args) {}
^
./Main.cpp:87:37: warning: unused parameter 'a' [-Wunused-parameter]
template<typename T> void setmin(T &a) {}
^
./Main.cpp:89:37: warning: unused parameter 'a' [-Wunused-parameter]
template<typename T> void setmax(T &a) {}
^
./Main.cpp:98:11: warning: unused variable 'oo' [-Wunused-const-variable]
const int oo = (int)1e9;
^
./Main.cpp:99:11: warning: unused variable 'N' [-Wunused-const-variable]
const int N = (int)2500 + 5;
^
./Main.cpp:100:11: warning: unused variable 'SZ' [-Wunused-const-variable]
const int SZ = 26;
^
./Main.cpp:102:11: warning: unused variable 'TSZ' [-Wunused-const-variable]
const int TSZ = (int)1e7;
^
8 warnings generated.
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
450 / 450 |
| 結果 |
|
|
| セット名 |
テストケース |
| 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 |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_00.txt |
AC |
1 ms |
3560 KiB |
| 00_sample_01.txt |
AC |
1 ms |
3456 KiB |
| 01_small_00.txt |
AC |
7 ms |
3468 KiB |
| 02_large_00.txt |
AC |
122 ms |
3552 KiB |
| 02_large_01.txt |
AC |
122 ms |
3460 KiB |
| 02_large_02.txt |
AC |
121 ms |
3480 KiB |
| 02_large_03.txt |
AC |
122 ms |
3424 KiB |
| 02_large_04.txt |
AC |
125 ms |
3468 KiB |