Submission #1071036

#TimeUsernameProblemLanguageResultExecution timeMemory
1071036ttamxAncient Machine (JOI21_ancient_machine)C++17
0 / 100
48 ms9012 KiB
#include "Anna.h" #include <bits/stdc++.h> using namespace std; void Anna(int n,vector<char> s){ int seq=0,cnt=0,pw=1; for(int i=0;i<n;i++){ seq+=pw*(s[i]-'X'); cnt++; pw*=3; if(cnt==5){ for(int j=0;j<8;j++){ Send(seq>>j&1); } seq=cnt=0; pw=1; } } if(cnt>0){ for(int j=0;j<8;j++){ Send(seq>>j&1); } } }
#include "Bruno.h" #include <bits/stdc++.h> using namespace std; void Bruno(int n,int m,vector<int> a){ assert(m%8==0); vector<char> s; for(int i=0;i<m;i+=8){ int seq=0; for(int j=0;j<8;j++){ seq|=a[i+j]<<j; } for(int j=0;j<5;j++){ s.emplace_back('X'+seq%3); seq/=3; } } assert(s.size()>=n); s.resize(n); stack<int> st; for(int i=0;i<n;i++){ if(s[i]=='X'){ if(st.empty()||s[st.top()]=='Y'){ st.emplace(i); }else{ Remove(i); } }else if(s[i]=='Y'){ if(!s.empty()&&s[st.top()]=='X'){ st.emplace(i); }else{ Remove(i); } }else{ while(st.size()>1){ Remove(st.top()); st.pop(); } Remove(i); } } while(!st.empty()){ Remove(st.top()); st.pop(); } }

Compilation message (stderr)

In file included from /usr/include/c++/10/cassert:44,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:33,
                 from Bruno.cpp:2:
Bruno.cpp: In function 'void Bruno(int, int, std::vector<int>)':
Bruno.cpp:19:18: warning: comparison of integer expressions of different signedness: 'std::vector<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   19 |   assert(s.size()>=n);
      |          ~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...