Submission #1366935

#TimeUsernameProblemLanguageResultExecution timeMemory
1366935orgiloogiiDark Ride (EGOI25_darkride)C++20
16 / 100
1 ms500 KiB
#include <bits/stdc++.h>
#define int long long
#define ff first
#define ss second
using namespace std;

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(NULL);
    int n;
    cin >> n;
    int ans1, ans2;
    int l = 0, r = n / 2 - 1;
    while (l < r) {
        int mid = (l + r) / 2;
        string s = "";
        for (int i = 0;i < n / 2;i++) {
            s += "0";
        }
        for (int i = n / 2;i < n;i++) {
            s += "1";
        }
        for (int i = l;i <= mid;i++) {
            s[i] = '1';
        }
        cout << "? " << s << endl;
        int res;
        cin >> res;
        if (res % 2 == 0) {
            r = mid;
        }
        else {
            l = mid + 1;
        }
    }
    ans1 = l;
    // cout << ans1 << endl;
    l = n / 2, r = n - 1;
    while (l < r) {
        int mid = (l + r) / 2;
        string s = "";
        for (int i = n / 2;i < n;i++) {
            s += "1";
        }
        for (int i = 0;i < n / 2;i++) {
            s += "0";
        }
        for (int i = l;i <= mid;i++) {
            s[i] = '1';
        }
        cout << "? " << s << endl;
        int res;
        cin >> res;
        if (res % 2 == 0) {
            r = mid;
        }
        else {
            l = mid + 1;
        }
    }
    cout << "! " << ans1 << ' ' << l << endl;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...