Submission #895993

#TimeUsernameProblemLanguageResultExecution timeMemory
895993pccWorm Worries (BOI18_worm)C++14
0 / 100
2 ms4348 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pll pair<ll,ll> #define pii pair<int,int> #define fs first #define sc second #define tlll tuple<ll,ll,ll> const int mxn = 1e6+10; int N,M,K; int dp[mxn]; int ask(int x,int y = 1,int z = 1){ if(dp[x] != -1)return dp[x]; cout<<"? "<<x<<' '<<y<<' '<<z<<endl; int re; cin>>re; dp[x] = re; return re; } int main(){ memset(dp,-1,sizeof(dp)); cin>>N>>M>>K; int l = 1,r = N; while(r-l>1){ int mid = (l+r)>>1; if(ask(mid)>=ask(mid+1))r = mid; else l = mid+1; } if(l == r)cout<<"! "<<l<<" 1 1"<<endl; else if(ask(l)>ask(r))cout<<"! "<<l<<" 1 1"<<endl; else cout<<"! "<<r<<" 1 1"<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...