Submission #1294636

#TimeUsernameProblemLanguageResultExecution timeMemory
1294636simona1230Ancient Machine (JOI21_ancient_machine)C++20
30 / 100
57 ms7860 KiB
#include "Anna.h" #include <bits/stdc++.h> namespace { } void Anna(int N, std::vector<char> S) { for(int i=0;i<N;i++) if(S[i]=='X')Send(1); else Send(0); /*int x=-1; int z=-1; for(int i=0;i<N;i++) { if(S[i]=='X'&&x==-1) { x=i; for(int j=0;j<=16;j++) if((1<<j)&x)Send(1); else Send(0); } } for(int i=N-1;i>=0;i--) { if(S[i]=='Z'&&z==-1) { z=i; for(int j=0;j<=16;j++) if((1<<j)&z)Send(1); else Send(0); } }*/ for(int i=0;i<N;i++) if(S[i]=='Y')Send(1); else Send(0); }
#include "Bruno.h" #include <bits/stdc++.h> namespace { char c[100001]; int h[100001]; int lx[100001]; int lz[100001]; } void Bruno(int N, int L, std::vector<int> A) { /*if(A.size()!=N+34) { for(int i=0;i<N;i++) Remove(i); return; } int x=0; for(int i=0;i<=16;i++) if(A[i]==1)x+=(1<<i); for(int i=17;i<=34;i++) if(A[i]==1)z+=(1<<j)*/ for(int i=0;i<N;i++) c[i]='Z',h[i]=0; for(int i=0;i<N;i++) if(A[i]==1)c[i]='X'; for(int i=N;i<2*N;i++) if(A[i]==1)c[i-N]='Y'; std::vector<int> v,id; std::vector<int> v2; for(int i=0;i<N;i++) { //std::cout<<c[i]<<" "; if(c[i]=='Y') { if(v.size()&&v[v.size()-1]==1) { v.push_back(2); id.push_back(i); } //else Remove(i); } else if(c[i]=='X') { if(v.size()==0||v[v.size()-1]==2) v.push_back(1), id.push_back(i); //else Remove(i); } else { v2.push_back(i); if(v.size()>1&&v.size()%2==1) { //Remove(id[id.size()-1]); v.pop_back(), id.pop_back(); } while(v.size()>3) { //Remove(id[id.size()-1]); id.pop_back(); v.pop_back(); //Remove(id[id.size()-1]); id.pop_back(); v.pop_back(); } if(v.size()==2) { //Remove(id[id.size()-1]); id.pop_back(); v.pop_back(); } //Remove(i); } } int f=-1; for(int i=0;i<N;i++) if(c[i]=='X') { f=i; break; } int l=-1; if(v2.size()==0||v2[v2.size()-1]!=N-1) v2.push_back(N-1); for(int i=0;i<v2.size();i++) { for(int j=v2[i]-1;j>l;j--) if(j!=f)Remove(j); if(v2[i]!=f)Remove(v2[i]); l=v2[i]; } if(f!=-1)Remove(f); //for(int i=0;i<id.size();i++) // Remove(id[i]); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...