General
 
 
# Author Problem Lang Verdict Time Memory Sent Judged  
187575704 Practice:
DaiRuiChen007
1634D - 80 C++14 (GCC 6-32) Accepted 109 ms 8 KB 2023-01-02 07:28:19 2023-01-02 07:28:19
→ Source
// LUOGU_RID: 98484067
#include<bits/stdc++.h>
#define pii pair<int,int>
using namespace std;
inline int read(int i,int j,int k) {
	cout<<"? "<<i<<" "<<j<<" "<<k<<endl;
	int ret; cin>>ret; return ret;
}
inline pii upd(int i,int j,int k,int l) {
	int a=read(i,j,k);
	int b=read(i,j,l);
	int c=read(i,k,l);
	int d=read(j,k,l);
	int x=max(max(a,b),max(c,d));
	if(a==x&&b==x) return make_pair(i,j);
	if(a==x&&c==x) return make_pair(i,k);
	if(a==x&&d==x) return make_pair(j,k);
	if(b==x&&c==x) return make_pair(i,l);
	if(b==x&&d==x) return make_pair(j,l);
	if(c==x&&d==x) return make_pair(k,l);
	return make_pair(0,0);
}
inline void solve() {
	int n;
	cin>>n;
	pii ans=make_pair(1,2);
	for(int i=3;i<n;i+=2) ans=upd(ans.first,ans.second,i,i+1);
	if(n%2==1) {
		for(int i=1;i<n;++i) {
			if(i!=ans.first&&i!=ans.second) {
				ans=upd(ans.first,ans.second,i,n);
				break;
			}
		}
	}
	cout<<"! "<<ans.first<<" "<<ans.second<<endl;
}
signed main() {
	int T;
	scanf("%d",&T);
	while(T--) solve();
	return 0;
}
?
Time: ? ms, memory: ? KB
Verdict: ?
Input
?
Participant's output
?
Jury's answer
?
Checker comment
?
Diagnostics
?
Click to see test details