QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#588872#6394. Turn on the Lightyumingsk#WA 0ms3724kbC++141.4kb2024-09-25 15:01:132024-09-25 15:01:13

Judging History

你现在查看的是最新测评结果

  • [2024-09-25 15:01:13]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3724kb
  • [2024-09-25 15:01:13]
  • 提交

answer

#pragma GCC optimize(3, "Ofast", "inline")
#include <iostream>
#include <bits/stdc++.h>
#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define INF 0x3f3f3f3f
#define L_INF 0x7f3f3f3f3f3f3f3f
#define db cout << "debug\n";

using namespace std;
const int Mod = 998244353;
using ll = long long;
int fh = 0;
int print(int x)
{
    cout << "? " << x << endl;
    int c;
    cin >> c;
    return c - fh;
}
int f(int l, int r)
{
    // cout << l << ' ' << r << '\n';
    if (l == r)
        return l;
    int num = 0;
    int ttt = 1;
    int i;
    int nxt;
    for (i = l; i <= r; i += ttt)
    {
        ttt *= 2;
        // cout << l << ' ' << r << ' ' << i << ' ' << ttt << '\n';
        nxt = print(i);
        cout << nxt << ' ' << fh << '\n';
        num++;
        if (nxt == num)
            continue;
        else if (nxt == num - 1)
            return i;
        else
        {
            fh = nxt;
            // cout << "F" << fh << '\n';
            if (i - ttt / 2 + 1 <= i - 1)
                return f(i - ttt / 2 + 1, i - 1);
        }
    }
    // cout << i << ' ' << ttt << '\n';
    // if (i - ttt + 1 <= r)
    fh = nxt;
    return f(i - ttt + 1, r);
}
void solve()
{
    int n;
    cin >> n;
    int res = f(1, n);
    cout << "! " << res << endl;
}
int main()
{
    // IOS;
    int t = 1;
    // cin >> t;
    while (t--)
    {
        solve();
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3724kb

input:

3
1

output:

? 1
1 0
? 3

result:

wrong answer Token parameter [name=type] equals to "1", doesn't correspond to pattern "?|!"