Submission #1294046

#TimeUsernameProblemLanguageResultExecution timeMemory
1294046esmabadal괄호 문자열 (CEOI16_match)C++20
0 / 100
1 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; int n = s.size(), say = 0, say2 = 0; char ans[s.size() + 1]; for(int i = 0; i < n; i++) { ans[i] = ' '; if(s[i] == 'a') { say++; } else { say2++; } } if(s.size() % 2 != 0 || say % 2 != 0 || say2 % 2 != 0) { cout << -1 << endl; return; } 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 { r = k; l++; } } else { cout << -1 << endl; return; } } } for(int i = 0; i < n; i++) { if(ans[i] == ' ') { 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...