76662024-01-10 11:14:12ananászTáblajátékcsharpAccepted 50/5035ms24960 KiB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace tabla
{
    class Program
    {
        static void Main(string[] args)
        {
            int K = int.Parse(Console.ReadLine());
            string[] lepesek = Console.ReadLine().Split();
            List<int> sorozat = new List<int>();
            sorozat.Add(0);
            for (int i = 0; i < K; i++)
            {
                if (lepesek[i] == "0")
                {
                    sorozat.Add(0);
                }
                else if (lepesek[i] == "1")
                {
                    sorozat.Add(1);
                }
                else if (lepesek[i] == "2")
                {
                    sorozat.RemoveAt(sorozat.Count - 1);
                }
                else if (lepesek[i] == "3")
                {
                    if (sorozat[sorozat.Count - 1] == 1)
                    {
                        sorozat[sorozat.Count - 1] = 0;
                    }
                    else
                    {
                        int id = sorozat.Count - 1;
                        while (!(sorozat[id] == 0 && sorozat[id - 1] == 1))
                        {
                            id--;
                        }
                        sorozat[id - 1] = 0;
                        while (id < sorozat.Count)
                        {
                            sorozat[id] = 1;
                            id++;
                        }
                    }
                }
                else if (lepesek[i] == "4")
                {
                    if (sorozat[sorozat.Count - 1] == 0)
                    {
                        sorozat[sorozat.Count - 1] = 1;
                    }
                    else
                    {
                        int id = sorozat.Count - 1;
                        while (!(sorozat[id] == 1 && sorozat[id - 1] == 0))
                        {
                            id--;
                        }
                        sorozat[id - 1] = 1;
                        while (id < sorozat.Count)
                        {
                            sorozat[id] = 0;
                            id++;
                        }
                    }
                }
            }
            Console.WriteLine(sorozat.Count - 1);
            int cv = 0;
            while (cv < sorozat.Count && sorozat[cv] == 0)
            {
                cv++;
            }
            if (sorozat.Count - cv == 0)
            {
                Console.WriteLine(0);
            }
            else
            {
                for (int i = cv; i < sorozat.Count; i++)
                {
                    Console.Write(sorozat[i]);
                }
                Console.WriteLine();
            }
            Console.ReadKey();
        }
    }
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/030ms20672 KiB
2Accepted0/028ms21512 KiB
3Accepted3/328ms21600 KiB
4Accepted3/329ms21672 KiB
5Accepted3/328ms22196 KiB
6Accepted3/329ms22784 KiB
7Accepted3/328ms22924 KiB
8Accepted3/330ms22840 KiB
9Accepted3/329ms23404 KiB
10Accepted3/335ms24320 KiB
11Accepted3/328ms24392 KiB
12Accepted3/335ms24744 KiB
13Accepted4/429ms24260 KiB
14Accepted4/434ms24960 KiB
15Accepted4/428ms24316 KiB
16Accepted4/435ms24724 KiB
17Accepted4/429ms24676 KiB