Submission #59669797


Source Code Expand

#include <bits/stdc++.h>
#include<atcoder/all>
#define rep(i,n) for(int i=0;i<(n);i++)
using namespace std;
using namespace atcoder;
#define all(a) a.begin(),a.end()
typedef long long ll;
typedef pair<ll,ll> P;
constexpr ll mod=998244353;
typedef modint1000000007 mi;

ll fib[20];

int query(int q,int n){
    if(1<=q&&q<=n){
        cout<<"? "<<q<<endl;
        int a;
        cin>>a;
        return a;
    }
    else return -1;
}

void solve(){
    int n;cin>>n;
    int m=0;
    for(;fib[m]<=n;m++);
    int L=0,R=fib[m];
    int idx1=fib[m-2],idx2=fib[m-1];
    int a1=query(idx1,n);
    int a2=query(idx2,n);
    while(R-idx2>1||idx2-idx1>1||idx1-L>1){
        if(a1<a2){
            L=idx1;
            idx1=idx2;
            a1=a2;
            idx2=R-(idx1-L);
            a2=query(idx2,n);
        }
        else{
            R=idx2;
            idx2=idx1;
            a2=a1;
            idx1=L+R-idx2;
            a1=query(idx1,n);
        }
        //cout<<L<<" "<<idx1<<" "<<idx2<<" "<<R<<endl;
    }
    cout<<"! "<<max(a1,a2)<<endl;

}

int main(){
    int t;cin>>t;
    fib[1]=1;
    for(int i=2;i<20;i++)fib[i]=fib[i-1]+fib[i-2];
    rep(T,t){
        solve();
    }
}

Submission Info

Submission Time
Task 053 - Discrete Dowsing(★7)
User Rho17
Language C++ 20 (gcc 12.2)
Score 7
Code Size 1242 Byte
Status AC
Exec Time 24 ms
Memory 4056 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 7 / 7
Status
AC × 2
AC × 34
Set Name Test Cases
Sample 01_sample_01.txt, 01_sample_02.txt
All 01_sample_01.txt, 01_sample_02.txt, 02_fixed_02.txt, 03_small_01.txt, 03_small_02.txt, 03_small_03.txt, 03_small_04.txt, 03_small_05.txt, 03_small_06.txt, 03_small_07.txt, 03_small_08.txt, 03_small_09.txt, 03_small_10.txt, 04_deterministic_01.txt, 04_deterministic_02.txt, 04_deterministic_03.txt, 04_deterministic_04.txt, 04_deterministic_05.txt, 04_deterministic_06.txt, 04_deterministic_07.txt, 04_deterministic_08.txt, 04_deterministic_09.txt, 04_deterministic_10.txt, 05_adaptive_01.txt, 05_adaptive_02.txt, 05_adaptive_03.txt, 05_adaptive_04.txt, 05_adaptive_05.txt, 05_adaptive_06.txt, 05_adaptive_07.txt, 05_adaptive_08.txt, 05_adaptive_09.txt, 05_adaptive_10.txt, 06_edge_01.txt
Case Name Status Exec Time Memory
01_sample_01.txt AC 7 ms 3716 KiB
01_sample_02.txt AC 3 ms 3712 KiB
02_fixed_02.txt AC 3 ms 3724 KiB
03_small_01.txt AC 14 ms 3992 KiB
03_small_02.txt AC 14 ms 4024 KiB
03_small_03.txt AC 14 ms 4000 KiB
03_small_04.txt AC 14 ms 4016 KiB
03_small_05.txt AC 14 ms 4020 KiB
03_small_06.txt AC 4 ms 3768 KiB
03_small_07.txt AC 3 ms 3708 KiB
03_small_08.txt AC 4 ms 3724 KiB
03_small_09.txt AC 4 ms 3840 KiB
03_small_10.txt AC 4 ms 3844 KiB
04_deterministic_01.txt AC 23 ms 3908 KiB
04_deterministic_02.txt AC 23 ms 4056 KiB
04_deterministic_03.txt AC 24 ms 4020 KiB
04_deterministic_04.txt AC 23 ms 3848 KiB
04_deterministic_05.txt AC 23 ms 4024 KiB
04_deterministic_06.txt AC 23 ms 4012 KiB
04_deterministic_07.txt AC 23 ms 3884 KiB
04_deterministic_08.txt AC 23 ms 4016 KiB
04_deterministic_09.txt AC 23 ms 4012 KiB
04_deterministic_10.txt AC 23 ms 3892 KiB
05_adaptive_01.txt AC 6 ms 3700 KiB
05_adaptive_02.txt AC 6 ms 3692 KiB
05_adaptive_03.txt AC 5 ms 3884 KiB
05_adaptive_04.txt AC 5 ms 3724 KiB
05_adaptive_05.txt AC 7 ms 3872 KiB
05_adaptive_06.txt AC 6 ms 3720 KiB
05_adaptive_07.txt AC 6 ms 3724 KiB
05_adaptive_08.txt AC 6 ms 3852 KiB
05_adaptive_09.txt AC 6 ms 3928 KiB
05_adaptive_10.txt AC 6 ms 3864 KiB
06_edge_01.txt AC 3 ms 3720 KiB