結果

問題 No.2978 Lexicographically Smallest and Largest Subarray
ユーザー daiota
提出日時 2024-12-02 08:25:15
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,219 bytes
コンパイル時間 1,829 ms
コンパイル使用メモリ 172,064 KB
実行使用メモリ 25,464 KB
平均クエリ数 1499.00
最終ジャッジ日時 2024-12-02 08:25:32
合計ジャッジ時間 16,909 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 17 WA * 40
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef pair<int,int> P;
#define REP(i,n) for(int i=0;i<int(n);i++)






int main(){
	cin.tie(nullptr);  ios_base::sync_with_stdio(false);
    int i,j;


    int N,Q;
    cin >> N >> Q;

    vector<int> v,u;
    int X;
    for(i=1;i<N;i+=2){

    	cout << "?" << ' ' << i << ' ' << i << ' ' << i+1 << ' ' << i+1 << endl;
    	cout.flush();

    	cin >> X;

    	if(X==1){
    		v.push_back(i+1);
    		u.push_back(i);
    	}
    	else if(X==0){
       		v.push_back(i);
        	u.push_back(i+1);
    	}
    	else{
    		return 0;
    	}

    }


    int n=v.size();
    int mx=v[0];
    for(i=1;i<n;i++){

    	cout << "?" << ' ' << mx << ' ' << N << ' ' << i << ' ' << N << endl;
    	cout.flush();

    	cin >> X;

       	if(X==1) mx=i;
        else if(X==0) continue;
        else return 0;
    }

    int mn=u[0];
    for(i=1;i<n;i++){

    	cout << "?" << ' ' << mn << ' ' << mn << ' ' << i << ' ' << i << endl;
    	cout.flush();

    	cin >> X;

       	if(X==1) continue;
        else if(X==0) mn=i;
        else return 0;
    }


	cout << "!" << ' ' << mn << ' ' << mn << ' ' << mx << ' ' << N << endl;
	cout.flush();





	return 0;

}
0