Submission #1767746


Source Code Expand

#include<iostream>
#include<string>
#include<algorithm>

using namespace std;

int N;
string S;
int ruisekiwa[100];

int main() {
	cin >> N;
	cin >> S;
	ruisekiwa[0] = S[0] == '(' ? +1 : -1;
	for (int i = 1; i < S.size(); i++) {
		if (S[i] == '(')ruisekiwa[i] += ruisekiwa[i - 1] + 1;
		else ruisekiwa[i] += ruisekiwa[i - 1] - 1;
	}

	string mae, ato;
	for (int i = 0; i < S.size(); i++) {
		if (ruisekiwa[i] < 0) {
			mae += '(';
			for (int j = i + 1; j < S.size(); j++) {
				ruisekiwa[j]++;
			}
		}
	}
	for (int i = 0; i < ruisekiwa[S.size() - 1]; i++) {
		ato += ')';
	}
	cout << mae + S + ato << endl;
	return 0;
}

Submission Info

Submission Time
Task D - Insertion
User Sen
Language C++14 (GCC 5.4.1)
Score 400
Code Size 654 Byte
Status AC
Exec Time 1 ms
Memory 256 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 1 ms 256 KB
in2.txt AC 1 ms 256 KB
in3.txt AC 1 ms 256 KB
in4.txt AC 1 ms 256 KB
in5.txt AC 1 ms 256 KB
in6.txt AC 1 ms 256 KB
in7.txt AC 1 ms 256 KB
in8.txt AC 1 ms 256 KB
in9.txt AC 1 ms 256 KB
s1.txt AC 1 ms 256 KB
s2.txt AC 1 ms 256 KB
s3.txt AC 1 ms 256 KB