Submission #1551354


Source Code Expand

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
using System.Globalization;
using System.Diagnostics;



class Myon
{
    public Myon() { }
    public static int Main()
    {
        new Myon().calc();
        return 0;
    }

    Scanner cin;
    
    void calc()
    {
        cin = new Scanner();
        int N = cin.nextInt();
        int a = 0;
        int b = 0;
        string S = cin.next();
        foreach (var c in S)
        {
            if(c == '(')
            {
                b++;
            }
            else
            {
                b--;
                if(b < 0)
                {
                    b++;
                    a++;
                }
            }
        }
        Console.WriteLine(new string('(', a) + S + new string(')', b));
    }


        
}


class Scanner
{
    string[] s;
    int i;

    char[] cs = new char[] { ' ' };

    public Scanner()
    {
        s = new string[0];
        i = 0;
    }

    public string next()
    {
        if (i < s.Length) return s[i++];
        string st = Console.ReadLine();
        while (st == "") st = Console.ReadLine();
        s = st.Split(cs, StringSplitOptions.RemoveEmptyEntries);
        if (s.Length == 0) return next();
        i = 0;
        return s[i++];
    }

    public int nextInt()
    {
        return int.Parse(next());
    }
    public int[] ArrayInt(int N, int add = 0)
    {
        int[] Array = new int[N];
        for (int i = 0; i < N; i++)
        {
            Array[i] = nextInt() + add;
        }
        return Array;
    }

    public long nextLong()
    {
        return long.Parse(next());
    }

    public long[] ArrayLong(int N, long add = 0)
    {
        long[] Array = new long[N];
        for (int i = 0; i < N; i++)
        {
            Array[i] = nextLong() + add;
        }
        return Array;
    }

    public double nextDouble()
    {
        return double.Parse(next());
    }


    public double[] ArrayDouble(int N, double add = 0)
    {
        double[] Array = new double[N];
        for (int i = 0; i < N; i++)
        {
            Array[i] = nextDouble() + add;
        }
        return Array;
    }
}
 

Submission Info

Submission Time
Task D - Insertion
User chokudai
Language C# (Mono 4.6.2.0)
Score 400
Code Size 2355 Byte
Status AC
Exec Time 21 ms
Memory 11092 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 12
Set Name Test Cases
Sample s1.txt, s2.txt, s3.txt
All in1.txt, in2.txt, in3.txt, in4.txt, in5.txt, in6.txt, in7.txt, in8.txt, in9.txt, s1.txt, s2.txt, s3.txt
Case Name Status Exec Time Memory
in1.txt AC 20 ms 9044 KB
in2.txt AC 20 ms 9044 KB
in3.txt AC 20 ms 11092 KB
in4.txt AC 20 ms 9044 KB
in5.txt AC 20 ms 11092 KB
in6.txt AC 21 ms 11092 KB
in7.txt AC 20 ms 9044 KB
in8.txt AC 20 ms 9044 KB
in9.txt AC 20 ms 9044 KB
s1.txt AC 20 ms 11092 KB
s2.txt AC 20 ms 9044 KB
s3.txt AC 21 ms 11092 KB