Submission #480823

#TimeUsernameProblemLanguageResultExecution timeMemory
480823RainbowbunnyZagrade (COI20_zagrade)C++17
100 / 100
1125 ms984 KiB
#include <bits/stdc++.h>
using namespace std;

const int MAXN = 100005;

int n, q;
char c[MAXN];

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin >> n >> q;
    stack <int> s;
    for(int i = n; i >= 1; i--)
    {
        if(s.empty())
        {
            s.push(i);
        }
        else
        {
            cout << "? " << i << ' ' << s.top() << endl;
            int id;
            cin >> id;
            if(id == 1)
            {
                c[i] = '(';
                c[s.top()] = ')';
                s.pop();
            }
            else
            {
                s.push(i);
            }
        }
    }
    int tmp = s.size() / 2;
    for(int i = 1; i <= tmp; i++)
    {
        c[s.top()] = ')';
        s.pop();
    }
    for(int i = 1; i <= tmp; i++)
    {
        c[s.top()] = '(';
        s.pop();
    }
    cout << "! ";
    for(int i = 1; i <= n; i++)
    {
        cout << c[i];
    } 
    cout << endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...