Submission #1293977

#TimeUsernameProblemLanguageResultExecution timeMemory
1293977esmabadalMatch (CEOI16_match)C++20
0 / 100
2 ms568 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MAX = 1e5 + 10;
vector<int> vt[MAX];
void solve() {
    string s;
    cin >> s;
    char ans[s.size() + 1];
    for(int i = 0; i < s.size(); i++) {
        ans[i] = ' ';
    }
    int n = s.size();
    int l = 0, r = n - 1;
    while(l < r) {
        if(s[l] == s[r]) {
            ans[l] = '(';
            ans[r] = ')';
            l++;
            r--;
        }
        else {
            int k = r;
            while(l < r && s[l] != s[r]) {
                r--;
            }
            if(l == r) {
                cout << -1 << endl;
                return;
            }
            if(s[l] == s[r]) {
                ans[l] = '(';
                ans[r] = ')';
                if(l == r - 1) {
                    l = r + 1;
                    r = k;
                }
                else {
                    l++;
                    r = k;
                }
            }
            else {
                cout << -1 << endl;
                return;
            }
        }
    }
    for(int i = 0; i < n; i++) {
        cout << ans[i];
    }
}
signed main() {
    int t = 1;
    //cin >> t;
    while(t--) {
        solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...