結果
| 問題 |
No.1959 Prefix MinMax
|
| コンテスト | |
| ユーザー |
tute7627
|
| 提出日時 | 2022-05-14 17:39:13 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 1,300 bytes |
| コンパイル時間 | 2,131 ms |
| コンパイル使用メモリ | 196,544 KB |
| 最終ジャッジ日時 | 2025-01-29 08:06:05 |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | RE * 1 |
| other | WA * 24 RE * 7 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
int main(int argc, char* argv[]){
ifstream input(argv[1]);
int T;
input >> T;
for(int t = 0; t < T; t++){
int N;
input >> N;
vector<int>P(N + 1);
for(int i = 1; i <= N; i++){
input >> P[i];
}
int query_num = 0;
cout << N << endl;
while(true){
char type;
assert(cin >> type);
assert(type == '?' || type == '!');
if(type == '?'){
query_num++;
assert(query_num <= 10);
vector<int>A(N);
for(int i = 1; i <= N - 1; i++){
assert(cin >> A[i]);
assert(A[i] == 0 || A[i] == 1);
}
vector<int>B(N + 1);
B[1] = P[1];
for(int i = 1; i <= N - 1; i++){
if(A[i] == 0){
B[i + 1] = min(B[i], P[i + 1]);
}
else{
B[i + 1] = max(B[i], P[i + 1]);
}
}
for(int i = 1; i <= N; i++){
cout << B[i];
if(i < N){
cout << " ";
}
else{
cout << endl;
}
}
}
if(type == '!'){
vector<int>Q(N + 1);
for(int i = 1; i <= N; i++){
assert(cin >> Q[i]);
assert(P[i] == Q[i]);
}
break;
}
}
}
return 0;
}
tute7627