Submission #1117692

#TimeUsernameProblemLanguageResultExecution timeMemory
1117692vjudge1Match (CEOI16_match)C++17
0 / 100
1 ms336 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #define ll long long #define endl "\n" using namespace std; using namespace __gnu_pbds; mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); template <typename T, typename key = less_equal<T>> using ordered_set = tree<T, null_type, key, rb_tree_tag, tree_order_statistics_node_update>; bool cbs(string s) { ll bal = 0; for (char i : s) { bal -= i == ')' ? -1 : 1; if (bal < 0) return false; } return true; } void solve() { string s; cin >> s; ll n = s.size(); string b(n, '('); for (ll msk = 0; msk < (1 << n); msk++) { for (ll i = 0; i < n; i++) b[i] = (msk >> i & 1) ? ')' : '('; if (!cbs(b)) continue; bool ok = true; for (ll i = 0; i < n and ok; i++) for (ll j = i + 1; j < n and ok; j++) if (j == i + 1 or (cbs(s.substr(i + 1, j - i - 1)) and s[i] == '(' and s[j] == ')')) if (s[i] != s[j]) ok = false; if (ok) { cout << b << endl; return; } } cout << "-1\n"; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); ll t = 1; // precomp(); // cin >> t; for (ll cs = 1; cs <= t; cs++) solve(); // cerr << "\nTime elapsed: " << clock() * 1000.0 / CLOCKS_PER_SEC << " ms\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...