結果
問題 | No.2978 Lexicographically Smallest and Largest Subarray |
ユーザー |
|
提出日時 | 2024-12-02 19:03:22 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 191 ms / 2,000 ms |
コード長 | 905 bytes |
コンパイル時間 | 5,535 ms |
コンパイル使用メモリ | 309,396 KB |
実行使用メモリ | 25,476 KB |
平均クエリ数 | 1499.00 |
最終ジャッジ日時 | 2024-12-02 19:03:43 |
合計ジャッジ時間 | 17,296 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 57 |
ソースコード
#include <bits/stdc++.h>#include <atcoder/all>using namespace std;using namespace atcoder;using ll=long long;int main(){int n,q;cin>>n>>q;vector<vector<int>> v(2);for(int i=1;i<=n;i+=2){cout<<"? "<<i<<" "<<n<<" "<<i+1<<" "<<n<<endl;int t;cin>>t;if(t==-1)return 0;else if(t==0){v[0].push_back(i);v[1].push_back(i+1);}else{v[0].push_back(i+1);v[1].push_back(i);}}for(int i=0;i<2;i++){for(int j=0;j+1<n/2;j++){cout<<"? "<<v[i][j]<<" "<<n<<" "<<v[i][j+1]<<" "<<n<<endl;int t;cin>>t;if(t==-1)return 0;else{if((t^i)==0)swap(v[i][j],v[i][j+1]);}}}cout<<"! "<<v[1][n/2-1]<<" "<<v[1][n/2-1]<<" "<<v[0][n/2-1]<<" "<<n<<endl;return 0;}