Submission #1183860

#TimeUsernameProblemLanguageResultExecution timeMemory
1183860WH8Ancient Machine (JOI21_ancient_machine)C++20
0 / 100
52 ms8640 KiB
#include "Anna.h" #include <bits/stdc++.h> using namespace std; void Anna(int n, vector<char> s) { for(int i=0;i<n;i++){ if(s[i]=='X'){ Send(0); Send(0); } else if (s[i]=='Y'){ Send(0); Send(1); } else{ Send(1); Send(0); } } }
#include "Bruno.h" #include <bits/stdc++.h> using namespace std; bool out[100005]; void rem(int x){ if(!out[x]){ out[x]=true; Remove(x); } } void Bruno(int n, int l, vector<int> a) { vector<int> s; assert(n*2==l); for(int i=0;i<l/2;i++){ int t=a[i*2]*2+a[i*2+1]; s.push_back(t); //~ cout<<t; } int fx=n, lz=-1; vector<int> px(n,-1), pz(n,-1), nz(n,n); for(int i=0;i<n;i++){ if(i!=0)px[i]=px[i-1]; if(s[i]==0){fx=min(fx,i);px[i]=i;} if(i!=0)pz[i]=pz[i-1]; if(s[i]==2){pz[i]=i;} } for(int i=n-1;i>=0;i--){ if(i!=n-1)nz[i]=nz[i+1]; if(s[i]==2){nz[i]=i;lz=max(lz,i);} } for(int i=0;i<fx;i++){ rem(i); } for(int i=lz+1;i<n;i++){ rem(i); } for(int i=fx+1;i<=lz;){ for(int j=nz[i]-1;j>max(fx,pz[i]);j--){ rem(j); } rem(nz[i]); i=nz[i]+1; } Remove(fx); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...