Submission #1153928

#TimeUsernameProblemLanguageResultExecution timeMemory
1153928nhnguyen14Ancient Machine (JOI21_ancient_machine)C++20
70 / 100
45 ms6468 KiB
#include "Anna.h"
//#include "Bruno.h"
#include <vector>
#include<bits/stdc++.h>

using namespace std;

// void send(int id){
// }
// void remove(int id){
// }

void Anna(int n,vector<char>s){
	int first_pos;
	for(int i=0;i<n;++i){
		if (s[i]=='X') {
			first_pos=i;
			Send(1);
			break;
		}
		else Send(0);
	}
	for(int i=first_pos+1;i<n;++i){
		if (s[i]=='Z') Send(1); else Send(0);
	}
	return;
}

// void Bruno(int n,int l,vector<int>s){
// 	int oo=-1,pos=n;
// 	for(int i=0;i<n;++i){
// 		if (s[i]==1){
// 			if (oo==-1) {
// 				for(int j=i-1;j>=0;--j) remove(j);
// 				pos=i;
// 				oo=i+1;
// 			}
// 			else {
// 				for(int j=i-1;j>=oo;--j) remove(j);
// 				remove(i);
// 				oo=i+1;
// 			}
// 		}
// 	}
// 	for(int i=oo;i<n;++i) remove(i);
// 	if (pos!=n) remove(pos);
// 	return;
// }

//#include "Anna.h"
#include "Bruno.h"
//#include <vector>
#include<bits/stdc++.h>

using namespace std;

// void send(int id){
// }
// void remove(int id){
// }

// void Anna(int n,vector<char>s){
// 	int first_pos;
// 	for(int i=0;i<n;++i){
// 		if (s[i]=='X') {
// 			first_pos=i;
// 			send(1);
// 			break;
// 		}
// 		else send(0);
// 	}
// 	for(int i=first_pos+1;i<n;++i){
// 		if (s[i]=='Z') send(1); else send(0);
// 	}
// 	return;
// }

void Bruno(int n,int l,vector<int>s){
	int oo=-1,pos=n;
	for(int i=0;i<n;++i){
		if (s[i]==1){
			if (oo==-1) {
				for(int j=i-1;j>=0;--j) Remove(j);
				pos=i;
				oo=i+1;
			}
			else {
				for(int j=i-1;j>=oo;--j) Remove(j);
				Remove(i);
				oo=i+1;
			}
		}
	}
	for(int i=max(oo,0);i<n;++i) Remove(i);
	if (pos!=n) Remove(pos);
	return;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...