#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;
}
if(fx<=n)rem(fx);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |