| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 810484 | bonk | Superpozicija (COCI22_superpozicija) | C++14 | 19 ms | 2988 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
bool valid(string s){
    int sum = 0;
    for(int i = 0; i < s.length(); i++){
        if(s[i] == '(') sum++;
        else{
            sum--;
            if(sum < 0) return false;
        }
    }
    return (sum == 0);
}
void solve(){ //subtask 2
    int n; cin >> n;
    string s; cin >> s;
    vector<pair<int, int>>v(n);
    string cur = "";
    vector<int>tmp;
    for(int i = 0; i < n; i++){
        cin >> v[i].first >> v[i].second;
        v[i].first--; v[i].second--;
        if(s[v[i].first] == '(') tmp.push_back(v[i].first);
        else tmp.push_back(v[i].second);
    }
    sort(tmp.begin(), tmp.end());
    for(auto &x: tmp) cur += s[x];
    if(valid(cur)){
        for(int i = 0; i < n; i++){
            if(s[v[i].first] == '(') cout << 0 << ' ';
            else cout << 1 << ' ';
        }
        cout << '\n';
    } else{
        cout << -1 << '\n';
    }
    
    return;
}
int main(){
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    int tc; cin >> tc;
    while(tc--){
        solve();
    }
    return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
