Submission #1756538


Source Code Expand

#include<bits/stdc++.h>
//#define int long long
#define loop(i, a, b) for(int i = a; i < b; i++)
#define rep(i, a) loop(i, 0, a)
#define all(a) (a).begin(),(a).end()
using namespace std;
const int MOD = 1e9 + 7, INF = 1e9;
using vi = vector <int>;
using vvi = vector <vi>;
//g++ -std==c++14

struct inf_of_bracket{bool l_or_r; int place, number;};
//左カッコ0か右カッコ1か, その場所, その数
bool cmp_place(inf_of_bracket& va1, inf_of_bracket& va2){return va1.place < va2.place;};


signed main(){
    int v;
    string s;
    cin >> v >> s;
    vector <inf_of_bracket> varisa;

    int left = 0, right = 0, emarged_r_bracket = false;
    int num_of_l_bracket = 0, num_of_r_bracket = 0;
    for(;;left = right){

        while(s[right] == '('){
            num_of_l_bracket++;
            if(right + 1 < v)right++;
            else break;
        }
        while(s[right] == ')'){
            num_of_r_bracket++;
            if(right + 1 < v)right++;
            else break;
        }
        if(num_of_l_bracket != num_of_r_bracket){
            bool dif = num_of_r_bracket < num_of_l_bracket;
            varisa.push_back({dif,
                              dif ? right : left,
                              abs(num_of_r_bracket - num_of_l_bracket)});
            num_of_l_bracket = num_of_r_bracket = 0;
        }
        if(right == v - 1)break;
    }

    int cnt = 0;
    rep(i, v + 1){
        if(varisa[cnt].place + varisa[cnt].l_or_r == i){
            rep(j, varisa[cnt].number){
                cout << (varisa[cnt].l_or_r ? ')' : '(');
            }
            cnt++;
        }
        cout << s[i];
    }
    cout << endl;
}

Submission Info

Submission Time
Task D - Insertion
User Masumi
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1713 Byte
Status WA
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 400
Status
WA × 3
WA × 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 WA 1 ms 256 KB
in2.txt WA 1 ms 256 KB
in3.txt WA 1 ms 256 KB
in4.txt WA 1 ms 256 KB
in5.txt WA 1 ms 256 KB
in6.txt WA 1 ms 256 KB
in7.txt WA 1 ms 256 KB
in8.txt WA 1 ms 256 KB
in9.txt WA 1 ms 256 KB
s1.txt WA 1 ms 256 KB
s2.txt WA 1 ms 256 KB
s3.txt WA 1 ms 256 KB