Submission #1194401

#TimeUsernameProblemLanguageResultExecution timeMemory
1194401teletubigam3Worm Worries (BOI18_worm)C++20
10 / 100
0 ms408 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt") #define se second #define pb push_back #define fi first #define fo(var, n) for(long long var=0;var<n;var++) #define fore(var, n) for(long long var=n-1;var>=0;var--) using namespace std; using ll = long long; int ask(int a,int b, int c) { cout<<"? "<<a<<" "<<b<<" "<<c<<"\n"; int an; cout.flush(); cin>>an; return an; } int main() { // ios_base::sync_with_stdio(0); cin.tie(0); //ifstream cin("in.in"); int tt = 1; //cin>>tt; while(tt--) { int n,m,k,q; cin>>n>>m>>k>>q; if(k == 1 && m == 1 && q == 10000) { int l = 0, r = n-1, mid; while(l<r) { mid=(l+r)/2; int v1 = ask(mid+1, 1, 1), v2 = ask(mid+2, 1, 1); if(v1<v2) l = mid+1; else r = mid; } cout<<"! "<<(l+r)/2+1<<" 1 1\n"; cout.flush(); } else if(k == 1 && m == 200 && n==200 && q == 35) { int a[n+2][m+2]; fo(i,n+2) fo(j,m+2) a[i][j] = 0; fo(i,n) fo(j,m) a[i+1][j+1] = ask(i+1, j+1, 1); fo(i,n) fo(j,m) { if(a[i+1][j+1] >= a[i+2][j+1] && a[i+1][j+1] >= a[i][j+1]&&a[i+1][j+1] >= a[i+1][j+2] && a[i+1][j+1] >= a[i+1][j]) { cout<<"! "<<i+1<<" "<<j+1<<" 1\n";break; } } cout.flush(); } else cout<<"! 1 1 1\n"; } return 0; }
#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...