QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#497320 | #3098. Ancient Machine | bykem | 0 | 38ms | 9992kb | C++20 | 1.6kb | 2024-07-28 22:54:04 | 2024-07-28 22:54:05 |
Judging History
Anna
#include "Anna.h"
using namespace std;
using ull = unsigned long long;
const int kS = 90, kB = 63;
ull af[kS];
auto init_af = []() {
af[0] = 1, af[1] = 2;
for (int i = 2; i < kS; ++i) {
af[i] = af[i - 1] + af[i - 2];
}
return 0;
}();
void Anna(int n, vector<char> s) {
vector<int> v;
bool fx = 1;
for (char c : s) {
fx &= c != 'X';
v.empty() || (v.back() &= fx || c != 'Z');
v.push_back(fx || c == 'Z');
}
for (; v.size() % kS; v.push_back(0)) {
}
for (int i = 0; i < n; i += kS) {
ull fs = 0;
for (int j = 0; j < kS; ++j) {
fs += v[i + j] * af[kS - 1 - j];
}
for (int j = 0; j < kB; ++j) {
Send(fs >> j & 1);
}
}
}
Bruno
#include "Bruno.h"
using namespace std;
using ull = unsigned long long;
const int kS = 90, kB = 63;
ull bf[kS];
auto init_bf = []() {
bf[0] = 1, bf[1] = 2;
for (int i = 2; i < kS; ++i) {
bf[i] = bf[i - 1] + bf[i - 2];
}
return 0;
}();
void remove(int n, int d) {
if (d < n) {
Remove(d);
}
}
void Bruno(int n, int la, vector<int> a) {
vector<int> s;
for (int i = 0, ri = 0; i < la; i += kB, ri += kS) {
ull fs = 0;
for (int j = 0; j < kB; ++j) {
fs |= (ull)a[i + j] << j;
}
for (int j = kS - 1; j >= 0; --j) {
int rj = ri + kS - 1 - j;
bool v = fs >= bf[j];
fs -= v * bf[j];
if (v) {
for (; s.size() > 1; remove(n, s.back()), s.pop_back()) {
}
remove(n, rj);
} else {
s.push_back(rj);
}
}
}
for (int i : s) {
remove(n, i);
}
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 0
Wrong Answer
Test #1:
score: 100
Accepted
time: 0ms
memory: 3788kb
input:
18 Y X Y Z X Z X X Z Z Y Y Z Y Y Z X X
output:
63 000010011001110001001111011100000011011100110010011110110110101
input:
63 000010011001110001001111011100000011011100110010011110110110101
output:
0 63 3
result:
ok n = 18, D = 63, L = 3
Test #2:
score: 100
Accepted
time: 0ms
memory: 3812kb
input:
18 X Z X Y Y Y X Z X Y Z Z Z Z Y Z Z Y
output:
63 010010010110011111010000110110100101100111010001100110100101010
input:
63 010010010110011111010000110110100101100111010001100110100101010
output:
0 63 3
result:
ok n = 18, D = 63, L = 3
Test #3:
score: 0
Wrong Answer
time: 0ms
memory: 3816kb
input:
18 Y Z Z Y Z X X Z Y Y Z Z Z Y X X Z Y
output:
63 011000010000000000100110010110000100010101000001000000010011100
input:
63 011000010000000000100110010110000100010101000001000000010011100
output:
0 63 0
result:
wrong answer your query is valid but your solution is not optimal: read 0 but expected 2
Subtask #2:
score: 0
Wrong Answer
Test #12:
score: 98
Acceptable Answer
time: 34ms
memory: 9684kb
input:
100000 X Z X Z Z X Y Z Y X Y X Z Z Z Y X Z Y X Y Y X Y Y Y Z Y Z Z Y X X Y X X Y Y X X X Z Y Y Y Z Z Z Z Y X Y Y Z Z Z X Y Z X X X X Y X Y X X Z X Z Z Z X Y X X X Z X Z X X X Y Y Y Y Z X X Y Z Y Y X Z X Z Z Z Z Z Y Z Y X Y Y Y Y X Z Z Y Z Z Y Z Z Z X Z Z X X Z Z Z Z X X Z Y Y Z Y Y Z Z Y Y Z Y Z Y Z...
output:
70056 000100111100011001110111011001110011111111001000010111011100110010001010100101001110111101101011110001000100011101010010011100101110001111111100010011100001010100111011011001111010110100000101011111011101000001001111000110101111110110101100101111110100010111000110101001011010111101101010000101...
input:
70056 000100111100011001110111011001110011111111001000010111011100110010001010100101001110111101101011110001000100011101010010011100101110001111111100010011100001010100111011011001111010110100000101011111011101000001001111000110101111110110101100101111110100010111000110101001011010111101101010000101...
output:
0 70056 22133
result:
points 0.98947368420 n = 100000, D = 70056, L = 22133
Test #13:
score: 98
Acceptable Answer
time: 28ms
memory: 9992kb
input:
100000 Z X X Y Z Z Z Y Z X Y Y Z X X Z Z Z Y Z X Y X Y X Z Y X Z X Y X Y Y Z X X Z X Z Y Z Y Z Z Z Y X Z X Z Y Y Y Z Y Z Y Z X Y X Z Z X Y X Y Z X Y Z Y X Y X X Z Z X Z X X Z X X X X Y X X Z Z X Y Y Y Y X Y X X Z Y Z Y Y Z X X Z Z Y Y X Z Y Y X Y Z Y Z Y Y Z Z X Z Y Z Z Z X Y Z Z X X X X Z Y X Y Y Z...
output:
70056 010110000110011001000111010111010001111101010011000001111010001100001001100001110111111100010100011100100111100000000001001100101000101010111111111011100000100110000110011100101111111100110101011000001001110000100000101000011111011100111101111111001101001011011000001100110011110011111001111111...
input:
70056 010110000110011001000111010111010001111101010011000001111010001100001001100001110111111100010100011100100111100000000001001100101000101010111111111011100000100110000110011100101111111100110101011000001001110000100000101000011111011100111101111111001101001011011000001100110011110011111001111111...
output:
0 70056 22275
result:
points 0.98947368420 n = 100000, D = 70056, L = 22275
Test #14:
score: 98
Acceptable Answer
time: 30ms
memory: 9992kb
input:
100000 X Z Y X Z X X Z Y Z Y Y Y Z Y Z X X Z X X Y Z X X Z Y X Y Y Z X Z Y Z X X X X Z X Y X Z X Z X X X Y X Y Z Z Z Z Z Z Z Z Y X Y Z X Z Y Z Y X Y Z Y Z Y X Y Z X Z Z Z Y X Y Y X X X X Y X X Y Z Z X Z Y Z Z Y X Y X Z Z Z X X Z X Z Z Z Z Y X Z Z X X Z Z Y X X Y Y Y X Y Y Y X X Y Y Z X Z Y Y X X Y Z...
output:
70056 110111011001101110101110111010111101011101101011010101010010110100111101101010010110100100101110010100010000001110110010001000010100110001010010110100111110001110010000000111101011010001100101110000011011000000101010011001001110100000001011110011001000101100111010101111010001010100011111100001...
input:
70056 110111011001101110101110111010111101011101101011010101010010110100111101101010010110100100101110010100010000001110110010001000010100110001010010110100111110001110010000000111101011010001100101110000011011000000101010011001001110100000001011110011001000101100111010101111010001010100011111100001...
output:
0 70056 22177
result:
points 0.98947368420 n = 100000, D = 70056, L = 22177
Test #15:
score: 98
Acceptable Answer
time: 38ms
memory: 9860kb
input:
100000 Y Z X X X Y Y Y Z Y Z X Z X X Z X X Z X X Z Z X Z Z Z Z X X X Z X Y X X Y X Y X Z Y X Z Y Z Y Y Y Y Z Y Z X X X X Y Y Z Y X Y X Y Y Z X Z Z Y Z Z Y X X Z Y Y Y Z Y X Y Y Y Y Z Z Y Z X X Y X Z Z Y X Y Y X Z Y X Y Y Y Z Y X X Y X Z X Y X X X Y Y Y Y Y X Z Z Y Z X Y Y X X X X Z Z X X X Y Z X Z X...
output:
70056 101110001011111011100100111011100001000000100011101100110101011101100101110000000011011111001100110011000000111001111100010001110110110000111100010010010101010100100000001100100010101111010101001010000000110001110010110111100001111000001011100110110000001100011000001010010110011000110110111101...
input:
70056 101110001011111011100100111011100001000000100011101100110101011101100101110000000011011111001100110011000000111001111100010001110110110000111100010010010101010100100000001100100010101111010101001010000000110001110010110111100001111000001011100110110000001100011000001010010110011000110110111101...
output:
0 70056 22192
result:
points 0.98947368420 n = 100000, D = 70056, L = 22192
Test #16:
score: 98
Acceptable Answer
time: 38ms
memory: 9708kb
input:
100000 Z Z X Y Z Z Z Z Y X Y Y Z X Y Y Y Z X X Z X X X Z Y X X Z Y X X Y Y Z Y Y Z Z Y Z Z Y Y X X Z X Y Y Z Z Y Z X X Y X Z X X Y Z Z Y X X Z Z Z Y Z Z X X Z X Z Z Z Y X X Z Z X X X Z X X Z Y X X Y X Y Z X Y Z Z X X X Y Y Z Z Z Z X X X X Y X Z X Z X X Z X Y X Z Z X Y X X Z Z X X Y X Z Z Z Z X Y Y Y...
output:
70056 001010011101110101111001101011010010101100010110111010001101011011101100000111010011111001101110011000111101001001100011001010011111010010000100011011100111111110111010010011100011100000010110101001000011001110010010000100001001000101110110010101111000100111001110100110101101110111010110111010...
input:
70056 001010011101110101111001101011010010101100010110111010001101011011101100000111010011111001101110011000111101001001100011001010011111010010000100011011100111111110111010010011100011100000010110101001000011001110010010000100001001000101110110010101111000100111001110100110101101110111010110111010...
output:
0 70056 22119
result:
points 0.98947368420 n = 100000, D = 70056, L = 22119
Test #17:
score: 98
Acceptable Answer
time: 22ms
memory: 9716kb
input:
100000 X X Y Y Y Y X Z Z X Y Y X Y X Z Y Y Y Y X X Y X X Y Y X Z X Z Z Z Y Z Y Y Y X Y Y Z Y Z X Z Y Z Z X Z Z X Z Y Z Z Z Y Z X Y Y Y X Y Y Y X X X X X Z X Y X Z Y Y Z X Z Z X Y X X X Z Z Z X X X X Z Y X X Y Z X Z Z X X Y X Z Z Y X X X Y X X X X Z Y Z X X X Z X Z Z Y Y Y Z Y Y X Z Y Y X Y Y X Y X X...
output:
70056 101111000101010000110011101100000000010111001001001101101000000110011001101011100010111010010011101000001111001010111111101010101100101100100000100001011110100011011011111010101101101001010101100010001101011001111100100110111101111010111110101001011010110001111111101010101010011111011010000011...
input:
70056 101111000101010000110011101100000000010111001001001101101000000110011001101011100010111010010011101000001111001010111111101010101100101100100000100001011110100011011011111010101101101001010101100010001101011001111100100110111101111010111110101001011010110001111111101010101010011111011010000011...
output:
0 70056 22256
result:
points 0.98947368420 n = 100000, D = 70056, L = 22256
Test #18:
score: 98
Acceptable Answer
time: 38ms
memory: 9708kb
input:
100000 X Z Z X Z X Z Z X X X Z Z Y Y Z Y Y Z Z Y X X Y Y Z Y Y Y Y Y Z X Y X Y X Z Z X Y X Z Z Y Z Y Z X Z Y Y Y Y Z X X Y X X X X Y Y Z Z X Y X Y Z Y Y Y Z X Y Y X Z Y Y Z Z X Y Y Y Y Y Y X Z Y X Z X Y Y Z Z X Z Z X Z Z Z X X Y X Y Z Z X X Y X Z Z Z X X Y Z X Z Y Z Z X X X X X Z Y X Y Z X Z X Z Z X...
output:
70056 011110011100101000011001010001010000000000111011011110010010010100001001100001001000011111001010111110000010011110011001111100011011101010011001100010100000110001000001110011011010011100000101110110100010001101100101011110001011010000111010000010000101011010101011111001010110010011000100101011...
input:
70056 011110011100101000011001010001010000000000111011011110010010010100001001100001001000011111001010111110000010011110011001111100011011101010011001100010100000110001000001110011011010011100000101110110100010001101100101011110001011010000111010000010000101011010101011111001010110010011000100101011...
output:
0 70056 22071
result:
points 0.98947368420 n = 100000, D = 70056, L = 22071
Test #19:
score: 98
Acceptable Answer
time: 38ms
memory: 9744kb
input:
100000 X Z X Y Z Z X Y X X Y Y X Z Z X Z X X X Z Y Z X X X X Y Z Y Y X X Y Y Z Y Y Z X X X Y Z Y Z Z Y Z Y X Z Z Y X X Y Y Z Y X Z X X Y Z Y Z Z Z Z Z X Y Y X Y Y X Y Y Y Y X X Y Y X Y Z Y Y Y Y X X X X X X X Y X Y X Z Y Y Y X Z X Y X Y Z X Y Z Y X Y Y X X Y X X Z Y X X X Y Y Z Y Z X Y X Y Y Y X Z Z...
output:
70056 100110111011001000100011111110001010111010001001100101111011010001110001010110000011010010010110010110101011010101100000000000111101100001110100101100010011010001100110110010101101101110001001111011111000110110101011110110101100100110000100101010000101011000101100101110101111011101011110000110...
input:
70056 100110111011001000100011111110001010111010001001100101111011010001110001010110000011010010010110010110101011010101100000000000111101100001110100101100010011010001100110110010101101101110001001111011111000110110101011110110101100100110000100101010000101011000101100101110101111011101011110000110...
output:
0 70056 22257
result:
points 0.98947368420 n = 100000, D = 70056, L = 22257
Test #20:
score: 98
Acceptable Answer
time: 38ms
memory: 9752kb
input:
99997 X X Z X Z X Y Z Y X Y Z X X Y Y Z X Y Y X Z Z Y Y X X Z Y Z Y X Y X Y Y Y Y Z Z X Z X Z Z Z X X Y Z Z X X Y X X Y Z Y Z Z Z Z Y X Y Z Z X X X Z Z Z Y Z Z Y Y Y X Z Y X X Z Z Y Z Y Y Z Z Z X Z X X X Z Y Z X Z Y Y X X Z Y Y Z X Z Z X Z Z Z Z X X Z Y Z Y Y X Y Y Y Z X Y Y Y Y Z Y X Y X Y Z X X X ...
output:
70056 000001111011011111001100011100101001101000011001000111010010010100010000111001110001111110001001000110000000101100101100110100110101011111100110101011000000010000000111011111001110100110000000101100001001100100101010000010101000110101100010001001010101011010000100011101011000010111110011110100...
input:
70056 000001111011011111001100011100101001101000011001000111010010010100010000111001110001111110001001000110000000101100101100110100110101011111100110101011000000010000000111011111001110100110000000101100001001100100101010000010101000110101100010001001010101011010000100011101011000010111110011110100...
output:
0 70056 22040
result:
points 0.98947368420 n = 99997, D = 70056, L = 22040
Test #21:
score: 98
Acceptable Answer
time: 30ms
memory: 9760kb
input:
99996 X X Z Y X X Y Y X Y Z X X Y Z Z Z X Z Y Z Y Y Y Z Z Z X Z Z X Y X X X Z Y Y X X Y Y Z X Z Y X X X Y X X Z Z X Z Z Y Z X Z X Z Y Z Z X Y Z Z X Y X X Z Z X X Y Z Z X X X Z X Z X Z Y X X X X Z X Z Z Z X Z X Z Y X X Y Z Y Z Z X Y Y X X X X X Y Z Z Z Z Y Z Z Z Z Z Z Y X Y Y X Y X X X X Y Y Y Y X Z ...
output:
70056 011101101000101110101011010001111001101011100111101000101001100110111001011110011010000110011000011000010000101111100011101000100010101000000100011100110110010111001101111001010100100101010111010100011010100001010111111110010100110001011101100100001010010111101110011010000111010101111111010001...
input:
70056 011101101000101110101011010001111001101011100111101000101001100110111001011110011010000110011000011000010000101111100011101000100010101000000100011100110110010111001101111001010100100101010111010100011010100001010111111110010100110001011101100100001010010111101110011010000111010101111111010001...
output:
0 70056 22360
result:
points 0.98947368420 n = 99996, D = 70056, L = 22360
Test #22:
score: 98
Acceptable Answer
time: 38ms
memory: 9872kb
input:
99995 X Z X Y Y Y X X X Y Z Z Z X Y Y X Y X X Z Z X X Y Y X Z Z X Z Z X Z X X Y Z X X Z Z Y Y Y Y Z Y X X Z Y Z Z Y X X Y Z Y Y Z Z Z X Y X Y Z Z Z Z X Z Z Z Y Z Y Z Z Y X Z Y Y Z Y Y X X Z Y X Y Y Y Y X Y Z X Z Z X Z Y Z Z Z Y X X X Y Z Y Z Y Y Y X Z Z Z Z Z Y Y Z Y X X Y Y X Y X Y Y X Y Z Z X X X ...
output:
70056 111010001010110110011111010001110110000110110100001101000001010110110010011001011111001101100101101001000111110001101010001010111101010110010011101011110010000111001000001011000101001001010001100101010111011100010100100100100100111101000000010011111000000011110101000001100100011000100001010110...
input:
70056 111010001010110110011111010001110110000110110100001101000001010110110010011001011111001101100101101001000111110001101010001010111101010110010011101011110010000111001000001011000101001001010001100101010111011100010100100100100100111101000000010011111000000011110101000001100100011000100001010110...
output:
0 70056 22233
result:
points 0.98947368420 n = 99995, D = 70056, L = 22233
Test #23:
score: 0
Wrong Answer
time: 38ms
memory: 9844kb
input:
99994 Z Z Z X Z Y X Y Y Z X Z X Y Y Y X X X Y Z Y X Z Z Y Z Z Z Z X Z Z Y Y Y Z X Y X Z X Z X X Z X Z Y X Z Y Z X Y X Y X Z X Z Y X Z X X X X X X Y X Z X Y X Z Y X X Z Y Z Y Y Y X Z X X X Y X Z Z X Z X Z Y Y Y Z Z Z X Y X X X Y Z Z Z X X X Y Y Y Z X Z X Y X X Y X Z Y Z X Z Y X X Z X Y Z X X Z Y X X ...
output:
70056 010011010111011111000010101101010100110110011010101011111101000000010011011110110110110001101010111010111100110011111100111000100110110000101010111010110111111100011110110101100111001100001011101010110000100100011100110001101111010001110000101110010011000001100100110000010111001001000010000000...
input:
70056 010011010111011111000010101101010100110110011010101011111101000000010011011110110110110001101010111010111100110011111100111000100110110000101010111010110111111100011110110101100111001100001011101010110000100100011100110001101111010001110000101110010011000001100100110000010111001001000010000000...
output:
0 70056 11106
result:
wrong answer your query is valid but your solution is not optimal: read 11106 but expected 22316