Submission #1235549

#TimeUsernameProblemLanguageResultExecution timeMemory
1235549HanksburgerZagrade (COI20_zagrade)C++20
0 / 100
0 ms416 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, q, cnt=0;
    cin >> n >> q;
    vector<char> ans(n, 0);
    set<int> s;
    for (int i=0; i<n; i++)
        s.insert(i);
    for (auto it=next(s.begin()); it!=s.end();)
    {
        cout << "? " << *prev(it) << ' ' << *it << '\n';
        fflush(stdout);
        int x;
        cin >> x;
        if (x)
        {
            ans[*prev(it)]='(';
            ans[*it]=')';
            cnt++;
            it++;
            s.erase(prev(prev(it)));
            s.erase(prev(it));
        }
        else
            it++;
    }
    cnt=n/2-cnt;
    cout << "! ";
    for (int i=0; i<n; i++)
    {
        if (ans[i])
            cout << ans[i];
        else if (cnt)
        {
            cout << ')';
            cnt--;
        }
        else
            cout << '(';
    }
    fflush(stdout);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...