QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#801609#8939. PermutationInfinite_Loopers#WA 1ms3672kbC++231.1kb2024-12-07 03:55:302024-12-07 03:55:30

Judging History

This is the latest submission verdict.

  • [2024-12-07 03:55:30]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 3672kb
  • [2024-12-07 03:55:30]
  • Submitted

answer

#include <bits/stdc++.h>

using namespace std;

using ll = long long;
using pll = pair<ll,ll>;
using vl = vector<ll>;
using vvl = vector<vl>;

//22.43
ll q(ll l, ll r) {
    if(l==r) return l;
    cout<<"? "<<l<<" "<<r<<endl;
    cin>>l;
    return l;
}
ll s(ll l, ll r, ll min2) {
    if(r==l+1) return l+r-min2;
    if(l==r) return l;

    ll mid = l+(r-l)/2;
    if(min2<=mid) {
        ll r0 = l+(r-l)*0.618;
        ll a = q(l, r0);
        if(a==min2) {
            return s(l, r0, min2);
        }
        else {
            if(r0==r) return r;
            return s(r0+1, r, q(r0+1, r));
        }
    }
    else {
        ll l0 = r-(r-l)*0.168;
        ll a = q(l0, r);
        if(a==min2) {
            return s(l0, r, min2);
        }
        else {
            if(l0==l) return l;
            return s(l, l0-1, q(l, l0-1));
        }
    }
}

void solve() {
    ll n;
    cin >> n;
    ll r = s(1, n, q(1, n));
    cout <<"! "<< r << endl;
}

int main() {
    cin.tie(0)->sync_with_stdio(0);
    ll n;
    cin>>n;
    for (int i = 0; i < n; ++i) {
        solve();
    }
}

详细

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3672kb

input:

3
5
3
2
5
6
6
5
3
4

output:

? 1 5
? 1 3
? 4 5
! 4
? 1 6
? 5 6
? 1 4
? 3 4
? 1 2

result:

wrong answer Too many queries , n = 6 , now_q 5 (test case 2)