QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#115100 | #124. Library | minhcool | 0 | 47ms | 14544kb | C++17 | 2.0kb | 2023-06-24 16:38:36 | 2023-06-24 16:38:36 |
Judging History
answer
//#define local
#ifndef local
#include "library.h"
#endif
#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
using namespace std;
//#define int long long
#define fi first
#define se second
#define pb push_back
#define mp make_pair
typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<ii, ii> iiii;
const int N = 3e5 + 5;
const int oo = 1e18 + 7, mod = 1e9 + 7;
mt19937 rng(1);
int rnd(int l, int r){
int temp = rng() % (r - l + 1);
return abs(temp) + l;
}
vector<int> Adj[N];
int ans[1005][1005];
int n;
#ifdef local
int Query(vector<int> v){
cout << "? ";
for(auto it : v) cout << it << " ";
cout << "\n";
int x;
cin >> x;
return x;
}
void Answer(vector<int> v){
cout << "! ";
for(auto it : v) cout << it << " ";
cout << "\n";
exit(0);
}
#endif
int cal(int i2, int le, int ri){
// if(ans[le][ri]) return ans[le][ri];
//cout << i2 << " " << le << " " << ri << "\n";
if(le > ri) return 1;
vector<int> v(n);
for(int i = 0; i < n; i++) v[i] = 0;
v[i2 - 1] = 1;
for(int i = le - 1; i <= ri - 1; i++) v[i] = 1;
return ans[le][ri] = Query(v);
}
bool vis[N];
vector<int> arr;
void dfs(int u, int p){
arr.pb(u);
for(auto v : Adj[u]) if(v != p) dfs(v, u);
}
void Solve(int N){
n = N;
for(int i = 1; i < n; i++){
int lst = i;
while(1){
int le = lst + 1, ri = n;
if(le > ri) break;
if(cal(i, i, ri) > cal(i + 1, i + 1, ri)) break;
while(le < ri){
int mid = (le + ri) >> 1;
if(cal(i, lst + 1, mid) > cal(lst + 1, lst + 1, mid)) le = mid + 1;
else ri = mid;
}
//cout << "OKAY " << i << " " << le << "\n";
Adj[i].pb(le);
Adj[le].pb(i);
lst = le;
}
}
int st = -1;
for(int i = 1; i <= n; i++) if(Adj[i].size() == 1) st = i;
dfs(st, st);
Answer(arr);
}
#ifdef local
void process(){
int n;
cin >> n;
int x;
for(int i = 0; i < n; i++) cin >> x;
Solve(n);
}
signed main(){
// ios_base::sync_with_stdio(0);
// cin.tie(0);
process();
}
#endif
詳細信息
Subtask #1:
score: 0
Memory Limit Exceeded
Test #1:
score: 0
Memory Limit Exceeded
input:
192 17 6 145 10 132 34 129 8 137 157 65 54 138 85 60 190 52 75 179 23 167 41 117 186 165 26 111 73 49 92 3 81 96 11 152 45 56 33 182 15 130 166 105 19 158 159 156 149 169 153 106 134 114 148 124 80 28 68 184 62 104 67 150 128 175 116 144 183 189 151 173 39 108 71 79 5 47 99 162 163 177 69 20 136 82 ...
output:
Unauthorized output
result:
Subtask #2:
score: 0
Wrong Answer
Test #17:
score: 0
Wrong Answer
time: 47ms
memory: 14544kb
input:
1000 972 265 212 27 724 465 50 304 37 134 246 257 177 482 90 974 616 221 151 912 946 366 590 277 187 976 394 765 643 740 385 665 749 585 923 92 920 994 48 405 978 893 477 381 788 992 825 680 785 297 679 116 836 31 333 714 828 922 492 890 919 237 188 677 557 522 867 368 19 690 29 632 832 17 107 485 3...
output:
Wrong Answer [3]
result:
wrong answer