Submission #2559665
Source Code Expand
#include <iostream> #include <vector> #include <string> #include <stack> using namespace std; int main() { int n; cin >> n; string s; cin >> s; //スタックに積むのは(のみ //)を読み込んだときはスタックの先頭が(の時(を削除する //)を読み込んだ時(がない場合その連続数をカウントする //その連続数分(を先頭に結合する //最後まで読み込んだら残っている要素分)を末尾に結合する string result = s; stack<char> stack1; int count = 0; for(int i = 0; i < s.size(); i++) { if(s[i] == '(') { stack1.push('('); }else{ if(!stack1.empty()) { stack1.pop(); if(count != 0) { for(int j = 0; j < count; j++) { result = "(" + result; } count = 0; } }else{ count++; } } } for(int i = 0; i < count; i++) { result = "(" + result; } for(int i = 0; i < stack1.size(); i++) { result += ")"; } cout << result << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - Insertion |
User | umisan |
Language | C++14 (GCC 5.4.1) |
Score | 400 |
Code Size | 1334 Byte |
Status | AC |
Exec Time | 2 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
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 | 2 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 |