| Task: | Sulkulauseke |
| Sender: | Laakeri |
| Submission time: | 2025-12-20 15:09:19 +0200 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 20 |
| #2 | ACCEPTED | 30 |
| #3 | ACCEPTED | 50 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #2 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #3 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #4 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #5 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #6 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #7 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #8 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #9 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #10 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #11 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #12 | ACCEPTED | 0.00 s | 1, 2, 3 | details |
| #13 | ACCEPTED | 0.00 s | 2, 3 | details |
| #14 | ACCEPTED | 0.00 s | 2, 3 | details |
| #15 | ACCEPTED | 0.00 s | 2, 3 | details |
| #16 | ACCEPTED | 0.00 s | 2, 3 | details |
| #17 | ACCEPTED | 0.00 s | 2, 3 | details |
| #18 | ACCEPTED | 0.01 s | 3 | details |
| #19 | ACCEPTED | 0.01 s | 3 | details |
| #20 | ACCEPTED | 0.01 s | 3 | details |
| #21 | ACCEPTED | 0.01 s | 3 | details |
| #22 | ACCEPTED | 0.01 s | 3 | details |
| #23 | ACCEPTED | 0.01 s | 3 | details |
| #24 | ACCEPTED | 0.00 s | 3 | details |
| #25 | ACCEPTED | 0.00 s | 2, 3 | details |
| #26 | ACCEPTED | 0.01 s | 3 | details |
| #27 | ACCEPTED | 0.00 s | 2, 3 | details |
| #28 | ACCEPTED | 0.00 s | 3 | details |
| #29 | ACCEPTED | 0.00 s | 2, 3 | details |
| #30 | ACCEPTED | 0.01 s | 3 | details |
Code
#include <bits/stdc++.h>
#define F first
#define S second
#define X real()
#define Y imag()
using namespace std;
typedef long double ld;
typedef long long ll;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
string s;
cin>>s;
int n=s.size();
int sum=0;
int q=0;
for (int i=0;i<n;i++){
if (s[i]=='('){
sum++;
} else if (s[i]==')'){
sum--;
} else {
q++;
}
}
int t=q-sum;
if (t<0){
cout<<"IMPOSSIBLE"<<endl;
return 0;
}
if (t%2==1){
cout<<"IMPOSSIBLE"<<endl;
return 0;
}
int a=t/2;
int b=q-a;
assert(a+b==q);
assert(sum+a-b==0);
sum=0;
for (int i=0;i<n;i++){
if (s[i]=='('){
sum++;
} else if (s[i]==')'){
sum--;
} else {
if (a>0){
s[i]='(';
sum++;
a--;
} else {
s[i]=')';
sum--;
}
}
if (sum<0){
cout<<"IMPOSSIBLE"<<endl;
return 0;
}
}
assert(sum==0);
cout<<s<<endl;
}Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| ? |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| ?? |
| correct output |
|---|
| () |
| user output |
|---|
| () |
Test 3
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| (() |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 4
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| ((() |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 5
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| ())( |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 6
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| )??? |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 7
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| ()?( |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 8
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| ()(())(()) |
| correct output |
|---|
| ()(())(()) |
| user output |
|---|
| ()(())(()) |
Test 9
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| ?)(())(()? |
| correct output |
|---|
| ()(())(()) |
| user output |
|---|
| ()(())(()) |
Test 10
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| (?))?(())) |
| correct output |
|---|
| (())((())) |
| user output |
|---|
| (())((())) |
Test 11
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| (?)((????? |
| correct output |
|---|
| (()((()))) |
| user output |
|---|
| (()((()))) |
Test 12
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| ?????????? |
| correct output |
|---|
| ((((())))) |
| user output |
|---|
| ((((())))) |
Test 13
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| ((((()))))(((())()()())()(()))... |
| correct output |
|---|
| ((((()))))(((())()()())()(()))... |
| user output |
|---|
| ((((()))))(((())()()())()(()))... |
Test 14
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| ()(??()?(?()?()???())??)???(((... |
| correct output |
|---|
| ()(((()(((()(()(((())(()((((((... |
| user output |
|---|
| ()(((()(((()(()(((())(()((((((... |
Test 15
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| ?()?()(((()?))(()????)()(???)?... |
| correct output |
|---|
| (()(()(((()())(()(((()()(((()(... |
| user output |
|---|
| (()(()(((()())(()(((()()(((()(... |
Test 16
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| ???)?????(????(????)??????????... |
| correct output |
|---|
| ((()((((((((((((((()((((((((((... |
| user output |
|---|
| ((()((((((((((((((()((((((((((... |
Test 17
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| ??????????????????????????????... |
| correct output |
|---|
| ((((((((((((((((((((((((((((((... |
| user output |
|---|
| ((((((((((((((((((((((((((((((... |
Test 18
Group: 3
Verdict: ACCEPTED
| input |
|---|
| ((((()(()()))))()())()()(((())... |
| correct output |
|---|
| ((((()(()()))))()())()()(((())... |
| user output |
|---|
| ((((()(()()))))()())()()(((())... |
Test 19
Group: 3
Verdict: ACCEPTED
| input |
|---|
| (((()((()((()())(?)((())?(()??... |
| correct output |
|---|
| (((()((()((()())(()((())((()((... |
| user output |
|---|
| (((()((()((()())(()((())((()((... |
Test 20
Group: 3
Verdict: ACCEPTED
| input |
|---|
| ()?????)??()?(??)???()????)))?... |
| correct output |
|---|
| ()((((()((()(((()(((()(((()))(... |
| user output |
|---|
| ()((((()((()(((()(((()(((()))(... |
Test 21
Group: 3
Verdict: ACCEPTED
| input |
|---|
| ????(????)???)??)???()???????(... |
| correct output |
|---|
| ((((((((()((()(()(((()((((((((... |
| user output |
|---|
| ((((((((()((()(()(((()((((((((... |
Test 22
Group: 3
Verdict: ACCEPTED
| input |
|---|
| ??????????????????????????????... |
| correct output |
|---|
| ((((((((((((((((((((((((((((((... |
| user output |
|---|
| ((((((((((((((((((((((((((((((... |
Test 23
Group: 3
Verdict: ACCEPTED
| input |
|---|
| ((((((((((((((((((((((((((((((... |
| correct output |
|---|
| ((((((((((((((((((((((((((((((... |
| user output |
|---|
| ((((((((((((((((((((((((((((((... |
Test 24
Group: 3
Verdict: ACCEPTED
| input |
|---|
| ??????????????????????????????... |
| correct output |
|---|
| ((((((((((((((((((((((((((((((... |
| user output |
|---|
| ((((((((((((((((((((((((((((((... |
Test 25
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| ((((((((((((((((((((((((((((((... |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 26
Group: 3
Verdict: ACCEPTED
| input |
|---|
| ((((((((((((((((((((((((((((((... |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 27
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| )?????????????????????????????... |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 28
Group: 3
Verdict: ACCEPTED
| input |
|---|
| )?????????????????????????????... |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 29
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| ??????????????????????????????... |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 30
Group: 3
Verdict: ACCEPTED
| input |
|---|
| ??????????????????????????????... |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
