Submission #780465

# Submission time Handle Problem Language Result Execution time Memory
780465 2023-07-12T09:12:51 Z devariaota Zagrade (COI20_zagrade) C++17
0 / 100
648 ms 1200 KB
#include <bits/stdc++.h>
using namespace std;

# define int long long
# define fir first
# define sec second
# define pb push_back

const int cnst = 2e5+5;
bool mutipletestcase = 0;
bool debug = 0;

string checker;

int find(int x, int y) {
    int temp = 0;
    for(int i = x-1; i<y; i++) {
        if(checker[i] == '(') temp++;
        else temp--;

        if(temp < 0) return 0;
    }
    
    return temp == 0;
}

int ask(int l, int r) {
    cout << "? " << l << " " << r << endl;
    int a;
    if(!debug) cin >> a;
    else a = find(l, r);
    return a;
}

void solve() {
    int n, q; cin >> n >> q;
    char ans[n+5]; // )) (( )(

        for(int i = 1; i<=n; i++) ans[i] = '*';

    if(debug) cin >> checker;

    stack<int> st;
    st.push(1); st.push(1);
    int fre = 0;

    for(int i = 2; i<=n; i++) {
        bool a = ask(st.top(), i);
        if(a) {
            ans[st.top()] = '(';
            ans[i] = ')';
            fre++;
        }
        else st.push(i);
    }

    int need = n/2-fre;

    cout << "! ";

    for(int i = 1; i<=n; i++) {
        if(ans[i] == '*') {
            if(need) {
                need--; cout << ')';
            }
            else cout << '(';
        }
        else cout << ans[i];
    }
}

signed main() {
    ios_base::sync_with_stdio(false);
    int t = 1;
    if(mutipletestcase) cin >> t; 
    while(t--) solve();
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 4 ms 320 KB Output is correct
3 Incorrect 9 ms 312 KB Mismatch at position 1. Expected (, found )
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 208 KB Output is correct
2 Correct 6 ms 208 KB Output is correct
3 Incorrect 6 ms 316 KB Mismatch at position 1. Expected (, found )
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 208 KB Mismatch at position 1. Expected (, found )
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 208 KB Output is correct
2 Correct 648 ms 1200 KB Output is correct
3 Incorrect 600 ms 956 KB Mismatch at position 1. Expected (, found )
4 Halted 0 ms 0 KB -