Submission #96156

#TimeUsernameProblemLanguageResultExecution timeMemory
96156alextodoranDEL13 (info1cup18_del13)C++14
15 / 100
7 ms1272 KiB
#include <bits/stdc++.h> #define NM 100002 using namespace std; int t; int n, q; int p[NM]; int x[NM]; vector <int> op; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> t; while(t--) { cin >> n >> q; for(int i = 1; i <= q; i++) cin >> p[i]; op.clear(); p[q + 1] = n + 1; for(int i = 0; i <= q; i++) x[i] = p[i + 1] - p[i] - 1; for(int i = 0; i <= q; i++) { int mid = p[i] + (x[i] + 1) / 2; while(x[i] > 2) { op.push_back(mid); x[i] -= 2; } } for(int i = 1; i <= q; i++) if(x[i - 1] == x[i]) { while(x[i]) { x[i]--; x[i - 1]--; op.push_back(p[i]); } } bool ok = 1; for(int i = 0; i <= q; i++) if(x[i] > 0) { ok = 0; break; } if(ok) { cout << op.size() << "\n"; for(auto i : op) cout << i << " "; cout << "\n"; } else cout << "-1\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...