Submission #381472

# Submission time Handle Problem Language Result Execution time Memory
381472 2021-03-25T08:23:03 Z Araragi Zagrade (COI20_zagrade) C++17
71 / 100
1077 ms 748 KB
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("00")
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
typedef pair<int, int> pii;
ll time() {return chrono::system_clock().now().time_since_epoch().count();}
mt19937 rnd(time());
const int inf = 1e9;
const ll inf64 = 1e18;
#define ft first
#define fin(x) ifstream cin("x.in");
#define fout(x) ofstream cout("x.out");
#define sd second
#define pb push_back
#define sz(x) (int)x.size()

bool ask(int from, int to)
{
    int ans;
    cout << "? " << from << " " << to << endl;
    cin >> ans;
    return (ans == 1 ? true : false);
}

void solve()
{
    int n, k;
    cin >> n >> k;

    map<int, bool> was;

    stack<int> st;
    int last = 1;
    st.push(last);
    was[last] = true;
    last++;
    string s = "";

    for (int i = 0; i < n; i++)
        s += 'a';

    while (!st.empty())
    {
        bool verdict = ask(st.top(), last);
        if (verdict)
        {
            s[st.top() - 1] = '(';
            s[last - 1] = ')';
            st.pop();
            if (st.empty() && last + 1 <= n)
            {
                st.push(last + 1);
                last++;
            }
        }
        else if (!verdict && last <= n)
        {
            st.push(last);
        }
        last++;
    }

    cout << "! " << s << endl;
}

int main()
{
    ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    #ifdef _LOCAL_
        system("color 2");
    #endif // _LOCAL_

    int t = 1;

    while (t--)
        solve();

}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 6 ms 364 KB Output is correct
3 Correct 10 ms 364 KB Output is correct
4 Correct 9 ms 364 KB Output is correct
5 Correct 10 ms 384 KB Output is correct
6 Correct 9 ms 364 KB Output is correct
7 Correct 9 ms 364 KB Output is correct
8 Correct 9 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 364 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 399 ms 624 KB Output is correct
3 Correct 818 ms 748 KB Output is correct
4 Correct 755 ms 652 KB Output is correct
5 Correct 930 ms 624 KB Output is correct
6 Correct 936 ms 748 KB Output is correct
7 Correct 1077 ms 716 KB Output is correct
8 Correct 663 ms 748 KB Output is correct
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 364 KB Execution killed with signal 13
2 Halted 0 ms 0 KB -