QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#497320#3098. Ancient Machinebykem0 38ms9992kbC++201.6kb2024-07-28 22:54:042024-07-28 22:54:05

Judging History

你现在查看的是最新测评结果

  • [2024-07-28 22:54:05]
  • 评测
  • 测评结果:0
  • 用时:38ms
  • 内存:9992kb
  • [2024-07-28 22:54:04]
  • 提交

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