Submission #70488654
Source Code Expand
#include<bits/stdc++.h>
#define L(i, j, k) for(int i = (j); i <= (k); i++)
#define R(i, j, k) for(int i = (j); i >= (k); i--)
#define ll long long
#define sz(a) ((int) a.size())
#define vi vector<int>
#define pb emplace_back
#define me(a, x) memset(a, x, sizeof(a))
using namespace std;
const int N = 1e6 + 7;
int n;
pair<vi,vi> construct(int n) {
vi ans1;
vi ans2;
//cout << n << endl;
if(n == 1) {
ans1.pb(0);
ans2.pb(0);
return make_pair(ans1, ans2);
}
if(n == 2) {
ans1.pb(0);
ans1.pb(1);
ans2.pb(1);
ans2.pb(0);
return make_pair(ans1, ans2);
}
auto tmp = construct((n - 1) / 2);
vi a = tmp.first;
vi p = tmp.second;
if(n % 2 == 1) {
int mx = 0;
for(auto&u : a)
mx = max(mx, u);
int h = 0;
while((1 << h) <= mx) ++h;
for(auto&u : a)
ans1.pb(u);
ans1.pb(a.back() + (1 << h));
for(auto&u : a)
ans1.pb(u + (3 << h));
ans2.pb((1 << (h + 2)) - 1);
L(i, 0, sz(p) - 1)
ans2.pb(p[i] | (1 << h)), ans2.pb(p[i]);
return make_pair(ans1, ans2);
} else {
int mx = 0;
for(auto&u : a)
mx = max(mx, u);
int h = 0;
while((1 << h) <= mx) ++h;
for(auto&u : a)
ans1.pb(u);
ans1.pb(a.back() + (1 << h));
ans1.pb(a.back() + (3 << h));
for(auto&u : a)
ans1.pb(u + (7 << h));
ans2.pb((1 << (h + 3)) - 1);
L(i, 0, sz(p) - 1)
ans2.pb(p[i] | (3 << h)), ans2.pb(p[i] | (1 << h));
ans2.pb(0);
return make_pair(ans1, ans2);
}
return make_pair(ans1, ans2);
}
void Main(){
cin >> n;
auto u = construct(n);
for(auto&x : u.first)
cout << x << ' ';
cout << '\n';
for(auto&x : u.second)
cout << x << ' ';
cout << '\n';
}
int main() {
ios :: sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int t; cin >> t; while(t--) Main();
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - PORALIS |
| User | zhoukangyang |
| Language | C++ 17 (gcc 12.2) |
| Score | 900 |
| Code Size | 1800 Byte |
| Status | AC |
| Exec Time | 36 ms |
| Memory | 3688 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 900 / 900 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-0.txt |
| All | 00-sample-0.txt, 01-00.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, 01-44.txt, 01-45.txt, 01-46.txt, 01-47.txt, 01-48.txt, 01-49.txt, 01-50.txt, 01-51.txt, 01-52.txt, 01-53.txt, 01-54.txt, 01-55.txt, 01-56.txt, 01-57.txt, 01-58.txt, 01-59.txt, 01-60.txt, 01-61.txt, 01-62.txt, 01-63.txt, 01-64.txt, 01-65.txt, 01-66.txt, 01-67.txt, 01-68.txt, 01-69.txt, 01-70.txt, 01-71.txt, 01-72.txt, 01-73.txt, 01-74.txt, 01-75.txt, 01-76.txt, 01-77.txt, 01-78.txt, 01-79.txt, 01-80.txt, 01-81.txt, 01-82.txt, 01-83.txt, 02-0.txt, 03-0.txt, 03-1.txt, 03-2.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-0.txt | AC | 1 ms | 3432 KiB |
| 01-00.txt | AC | 1 ms | 3456 KiB |
| 01-01.txt | AC | 1 ms | 3544 KiB |
| 01-02.txt | AC | 1 ms | 3604 KiB |
| 01-03.txt | AC | 2 ms | 3496 KiB |
| 01-04.txt | AC | 1 ms | 3452 KiB |
| 01-05.txt | AC | 1 ms | 3496 KiB |
| 01-06.txt | AC | 1 ms | 3560 KiB |
| 01-07.txt | AC | 1 ms | 3464 KiB |
| 01-08.txt | AC | 1 ms | 3464 KiB |
| 01-09.txt | AC | 1 ms | 3540 KiB |
| 01-10.txt | AC | 1 ms | 3608 KiB |
| 01-11.txt | AC | 1 ms | 3556 KiB |
| 01-12.txt | AC | 1 ms | 3532 KiB |
| 01-13.txt | AC | 1 ms | 3684 KiB |
| 01-14.txt | AC | 1 ms | 3540 KiB |
| 01-15.txt | AC | 1 ms | 3528 KiB |
| 01-16.txt | AC | 1 ms | 3616 KiB |
| 01-17.txt | AC | 1 ms | 3680 KiB |
| 01-18.txt | AC | 1 ms | 3612 KiB |
| 01-19.txt | AC | 1 ms | 3612 KiB |
| 01-20.txt | AC | 1 ms | 3628 KiB |
| 01-21.txt | AC | 1 ms | 3628 KiB |
| 01-22.txt | AC | 1 ms | 3528 KiB |
| 01-23.txt | AC | 1 ms | 3472 KiB |
| 01-24.txt | AC | 1 ms | 3668 KiB |
| 01-25.txt | AC | 1 ms | 3476 KiB |
| 01-26.txt | AC | 1 ms | 3596 KiB |
| 01-27.txt | AC | 1 ms | 3572 KiB |
| 01-28.txt | AC | 1 ms | 3480 KiB |
| 01-29.txt | AC | 1 ms | 3464 KiB |
| 01-30.txt | AC | 1 ms | 3560 KiB |
| 01-31.txt | AC | 1 ms | 3492 KiB |
| 01-32.txt | AC | 1 ms | 3564 KiB |
| 01-33.txt | AC | 2 ms | 3500 KiB |
| 01-34.txt | AC | 1 ms | 3448 KiB |
| 01-35.txt | AC | 1 ms | 3684 KiB |
| 01-36.txt | AC | 1 ms | 3528 KiB |
| 01-37.txt | AC | 1 ms | 3492 KiB |
| 01-38.txt | AC | 1 ms | 3488 KiB |
| 01-39.txt | AC | 1 ms | 3460 KiB |
| 01-40.txt | AC | 1 ms | 3548 KiB |
| 01-41.txt | AC | 1 ms | 3556 KiB |
| 01-42.txt | AC | 1 ms | 3448 KiB |
| 01-43.txt | AC | 1 ms | 3472 KiB |
| 01-44.txt | AC | 1 ms | 3612 KiB |
| 01-45.txt | AC | 1 ms | 3472 KiB |
| 01-46.txt | AC | 1 ms | 3616 KiB |
| 01-47.txt | AC | 1 ms | 3380 KiB |
| 01-48.txt | AC | 1 ms | 3496 KiB |
| 01-49.txt | AC | 1 ms | 3540 KiB |
| 01-50.txt | AC | 1 ms | 3476 KiB |
| 01-51.txt | AC | 1 ms | 3536 KiB |
| 01-52.txt | AC | 1 ms | 3540 KiB |
| 01-53.txt | AC | 1 ms | 3440 KiB |
| 01-54.txt | AC | 1 ms | 3412 KiB |
| 01-55.txt | AC | 1 ms | 3476 KiB |
| 01-56.txt | AC | 1 ms | 3396 KiB |
| 01-57.txt | AC | 1 ms | 3688 KiB |
| 01-58.txt | AC | 1 ms | 3540 KiB |
| 01-59.txt | AC | 1 ms | 3620 KiB |
| 01-60.txt | AC | 1 ms | 3552 KiB |
| 01-61.txt | AC | 1 ms | 3420 KiB |
| 01-62.txt | AC | 1 ms | 3552 KiB |
| 01-63.txt | AC | 1 ms | 3600 KiB |
| 01-64.txt | AC | 1 ms | 3480 KiB |
| 01-65.txt | AC | 1 ms | 3680 KiB |
| 01-66.txt | AC | 1 ms | 3612 KiB |
| 01-67.txt | AC | 1 ms | 3556 KiB |
| 01-68.txt | AC | 1 ms | 3564 KiB |
| 01-69.txt | AC | 1 ms | 3540 KiB |
| 01-70.txt | AC | 1 ms | 3624 KiB |
| 01-71.txt | AC | 1 ms | 3560 KiB |
| 01-72.txt | AC | 1 ms | 3488 KiB |
| 01-73.txt | AC | 1 ms | 3560 KiB |
| 01-74.txt | AC | 1 ms | 3572 KiB |
| 01-75.txt | AC | 1 ms | 3528 KiB |
| 01-76.txt | AC | 1 ms | 3484 KiB |
| 01-77.txt | AC | 1 ms | 3448 KiB |
| 01-78.txt | AC | 1 ms | 3548 KiB |
| 01-79.txt | AC | 1 ms | 3408 KiB |
| 01-80.txt | AC | 1 ms | 3556 KiB |
| 01-81.txt | AC | 1 ms | 3424 KiB |
| 01-82.txt | AC | 1 ms | 3548 KiB |
| 01-83.txt | AC | 1 ms | 3564 KiB |
| 02-0.txt | AC | 2 ms | 3536 KiB |
| 03-0.txt | AC | 36 ms | 3500 KiB |
| 03-1.txt | AC | 32 ms | 3408 KiB |
| 03-2.txt | AC | 29 ms | 3640 KiB |