Submission #1153798

#TimeUsernameProblemLanguageResultExecution timeMemory
1153798KickingKunAncient Machine (JOI21_ancient_machine)C++17
5 / 100
50 ms6336 KiB
#include "Anna.h" #include <vector> #include <bits/stdc++.h> using namespace std; void Anna(int N, vector<char> S) { int initN = N; for (int i = 0; i < N; i++) if (S[i] == 'X') { if (i != N - 1 && S[i + 1] == 'Z') S[i + 1] = 'Y'; break; } for (int i = 0; i < N - 1; i++) { if (S[i] == 'Z' && S[i + 1] == 'Z') S[i] = 'Y'; } while (N % 64 != 0) S.emplace_back('Y'), ++N; vector <bool> init(N); int p = 0; while (p < N && S[p] != 'X') init[p] = 0, ++p; while (p < N) { init[p] = 1; ++p; while (p < N && S[p] != 'Z') init[p] = 0, ++p; } // for (int i = 0; i < N; i++) // cerr << init[i] << ' '; // cerr << '\n'; vector <long long> fibo(64); fibo[0] = 1; fibo[1] = 2; for (int i = 2; i < 64; i++) fibo[i] = fibo[i - 1] + fibo[i - 2]; for (int i = 0; i < N; i += 64) { long long order = 0; for (int j = i; j < i + 64; j++) if (init[j]) order += fibo[i + 63 - j]; for (int bits = 44; bits >= 0; bits--) Send((order >> bits) & 1); // cerr << '\n' << order << '\n'; } }
#include "Bruno.h" #include <vector> #include <bits/stdc++.h> using namespace std; void Bruno(int N, int L, vector<int> A) { vector <long long> fibo(64); fibo[0] = 1; fibo[1] = 2; for (int i = 2; i < 64; i++) fibo[i] = fibo[i - 1] + fibo[i - 2]; vector <int> decode; for (int i = 0; i < L; i += 45) { long long num = 0; for (int j = i; j <= i + 44; j++) num = num * 2 + A[j]; // cerr << '\n' << num << '\n'; for (int j = 63; j >= 0; j--) { if (num >= fibo[j]) { decode.emplace_back(1); num -= fibo[j]; } else decode.emplace_back(0); } } // for (int i = 0; i < N; i++) // cerr << decode[i] << ' '; // cerr << '\n'; int fir = 0; while (fir < N && decode[fir] == 0) ++fir; for (int pos = fir + 1; pos < N;) { int st = pos; while (pos < N && decode[pos] == 0) ++pos; for (int i = pos - 1; i >= st; i--) Remove(i); if (pos < N) Remove(pos), ++pos; } for (int i = 0; i < fir; i++) Remove(i); if (fir < N) Remove(fir); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...