Submission #574876

#TimeUsernameProblemLanguageResultExecution timeMemory
574876ArvinAncient Machine (JOI21_ancient_machine)C++17
5 / 100
66 ms9132 KiB
#include "Anna.h" #include <bits/stdc++.h> using namespace std; #define ll long long namespace { int variable_example = 0; const int maxN = 1e5 + 5; } struct SegmentTree { int tree[2*maxN]; int n; void reset(){ fill(tree, tree+2*maxN, 1e9); } void build(int n, vector<int> &v){ this->n = n; for(int x=0;x<n;x++){ tree[n+x] = v[x]; } for(int x=n-1;x>0;x--){ tree[x] = min(tree[x<<1], tree[x<<1|1]); } } void update(int pos, int val){ pos += n; tree[pos] = val; for(int x=pos;x>1;x>>=1){ tree[x>>1] = min(tree[x], tree[x^1]); } } int query(int left, int right){ // [L, R) int ans = 1e9; for(left += n, right += n; left < right; left >>= 1, right >>= 1){ if(left&1){ ans = min(ans, tree[left++]); } if(right&1){ ans = min(ans, tree[--right]); } } return ans; } } tree; void Anna(int N, std::vector<char> S) { // 1 as store this first X or any Z after first Xa // 0 otherwise vector<int> v; int pos = -2; bool fX = false; for(int x=0;x<N;x++){ if(S[x] == 'Z'){ if(fX && pos+1 < x && (x+1 == N || S[x+1] != 'Z')){ v.push_back(1); } else { v.push_back(0); } // Send(fX); } else if(S[x] == 'Y'){ // XYXYZYZYZYZ (occurences of X are always first than Y) // Send(0); v.push_back(0); } else if(S[x] == 'X'){ if(!fX){ v.push_back(1); // Send(1); fX = true; pos = x; } else { v.push_back(0); // Send(0); } } } Send(v[0]); bool skip = false; for(int x=0;x<N;x++){ if(skip){ skip = false; continue; } if(v[x] == 0){ if(x+1 == N || v[x+1] == 1){ Send(0); if(x+1 < N && v[x+1] == 1) Send(1); else Send(0); } else { Send(1); if(x+2 < N && v[x+2] == 1){ Send(1); } else { Send(0); } skip = true; } } } }
#include "Bruno.h" #include <bits/stdc++.h> using namespace std; #define ll long long namespace { int variable_example = 0; int FunctionExample(int P) { return 1 - P; } } // namespace void Bruno(int N, int L, std::vector<int> A) { // for (int i = 0; i < L; i++) { // variable_example += FunctionExample(A[i]); // } // assert(L <= N); // length >= 3, use 1 + log2(length) bits // length <= 2 vector<int> v; int idx = 1; if(A[0] == 1){ v.push_back(1); } while(idx < L){ if(A[idx] == 0){ v.push_back(0); if(A[idx+1] == 1) v.push_back(1); } else { v.push_back(0); v.push_back(0); if(A[idx+1] == 1) v.push_back(1); } idx += 2; } // for(auto val : v){ // cout << val << "\n"; // } // cout << v.size() << "\n"; vector<int> ans; int pos = -1, lst = 0; for(int x=0;x<v.size();x++){ if(v[x] == 1){ if(pos == -1){ pos = x; lst = x+1; } else { for(int y=x-1;y>=lst;y--){ ans.push_back(y); } ans.push_back(x); lst = x+1; } } } for(int x=0;x<=pos;x++){ ans.push_back(x); } for(int x=lst;x<N;x++){ ans.push_back(x); } for(auto val : ans){ // cout << "- " << val << "\n"; Remove(val); } }

Compilation message (stderr)

Anna.cpp:10:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
   10 | int variable_example = 0;
      |     ^~~~~~~~~~~~~~~~

Bruno.cpp: In function 'void Bruno(int, int, std::vector<int>)':
Bruno.cpp:48:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |  for(int x=0;x<v.size();x++){
      |              ~^~~~~~~~~
Bruno.cpp: At global scope:
Bruno.cpp:12:5: warning: 'int {anonymous}::FunctionExample(int)' defined but not used [-Wunused-function]
   12 | int FunctionExample(int P) { return 1 - P; }
      |     ^~~~~~~~~~~~~~~
Bruno.cpp:10:5: warning: '{anonymous}::variable_example' defined but not used [-Wunused-variable]
   10 | int variable_example = 0;
      |     ^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...