이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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++)
while(x[i] && x[i - 1])
{
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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |