Submission #1271951

#TimeUsernameProblemLanguageResultExecution timeMemory
1271951Alebnparentrises (BOI18_parentrises)C++20
11 / 100
1 ms352 KiB
#include <bits/stdc++.h>
#define int long long
#define pii pair<int,int>
#define ff first
#define ss second
#define all(x) x.begin(),x.end()
using namespace std;

signed main() {
    int t, p;
    cin >> p >> t;
    while(t--) {
        string s;
        cin >> s;
        int n = s.size(), sum = 0;
        string res(n, 'G');
        stack<int> l, r;
        bool ok = true;
        for(int i = 0; i < n; i++) {
            if(s[i] == '(') {
                sum++;
                l.push(i);
            } else {
                sum--;
                r.push(i);
            }
            if(sum < 0) {
                if(r.size() < 2) {
                    ok = false;
                    break;
                }
                res[r.top()] = 'R';
                r.pop();
                res[r.top()] = 'B';
                r.pop();
                sum++;
            }
        }
        while(sum--) {
            if(l.size() < 2) {
                ok = false;
                break;
            }
            res[l.top()] = 'R';
            l.pop();
            res[l.top()] = 'B';
            l.pop();
        }
        if(ok) cout << res << "\n";
        else cout << "impossible\n";
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...