139362025-01-09 11:47:25mateTáblajátékcpp17Accepted 50/501ms500 KiB
#include <bits/stdc++.h>
using namespace std;

void oszlopno(string& s){
	int j = -1;
	for(int i = s.length()-1; i >= 0; i--){
		if(s[i] == '0'){
			j = i;
			s[j] = '1';
			break;
		}
	}
	if(j == -1){
		s = '1';
	}
	//cout << s << ' ';
	for(int i = s.length()-1; i > j; i--){
		s[i] = '0';
	}
	//cout << s << '\n';
}

void oszlopbal(string& s){
	int j = -1;
	s = s + '0';
	/*if(s[0] == '1'){
		s = '1' + s;
		return;
	}
	for(int i = 1; i < s.length(); i--){
		if(s[i] == '1'){
			j = i;
			s[j-1] = '0';
			break;
		}
	}*/
	//cout << s << '\n';
}

void oszlopjobb(string& s){
	s = s + '1';
	/*int j = -1;
	if(s[0] == '1'){
		s = '1' + s;
		return;
	}
	for(int i = 1; i < s.length(); i--){
		if(s[i] == '1'){
			j = i;
			s[j-1] = '0';
			break;
		}
	}
	oszlopno(s);*/
	//cout << s << '\n';
}

void oszlopcsokk(string& s){
	/*s[s.length()-1] = '0';
	int j = 0;
	while(s[j] != '1'){
		j++;
	}*/
	s = s.substr(0,s.length()-1);
	//s[j] = '0';
	//cout << s << '\n';
}

void oszlopmin1(string& s){
	int j = -1;
	for(int i = s.length()-1; i >= 0; i--){
		if(s[i] == '1'){
			j = i;
			s[j] = '0';
			break;
		}
	}
	/*if(j == -1){
		s = '0' + s;
	}*/
	//cout << s << ' ';
	for(int i = s.length()-1; i > j; i--){
		s[i] = '1';
	}
	//cout << s << '\n';

}

int main() {
	int n; cin >> n;
	int sor = 0;
	string oszlop = "0";
	while(n--){
		int a; cin >> a;
		if(a == 0){
			sor++;
			oszlopbal(oszlop);
		}
		if(a == 1){
			sor++;
			oszlopjobb(oszlop);
		}
		if(a == 2){
			sor--;
			oszlopcsokk(oszlop);
		}
		if(a == 3){
			oszlopmin1(oszlop);
		}
		if(a == 4){
			oszlopno(oszlop);
		}
		cerr << oszlop << ' ';
	}
	cout << sor << '\n';
	int l = 0;
	for(int i = 0; i < oszlop.length(); i++){
		if(oszlop[i] == '1'){
			l = 1;
		}
		if(l == 1){
			cout << oszlop[i];
		}
	}
	if(l == 0){
		cout << 0;
	}
	
	
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms316 KiB
6Accepted3/31ms316 KiB
7Accepted3/31ms316 KiB
8Accepted3/31ms316 KiB
9Accepted3/31ms320 KiB
10Accepted3/31ms316 KiB
11Accepted3/31ms316 KiB
12Accepted3/31ms500 KiB
13Accepted4/41ms316 KiB
14Accepted4/41ms404 KiB
15Accepted4/41ms316 KiB
16Accepted4/41ms316 KiB
17Accepted4/41ms316 KiB