TLE了,帮忙优化一下行吗
#include <bits/stdc++.h>
using namespace std;
int n;
bool a[2000005];
void revflip(int i)
{
int l = 1, r = i;
int cnt;
if (i == 1) cnt = 1;
else if (i % 2 == 0) cnt = i / 2;
else cnt = i / 2 + 1;
for (int x = 1; x <= cnt; x++, r--, l++)
{
if (l == r) break;
swap(a[l], a[r]);
if (r - l == 1) break;
}
for (int x = 1; x <= i; x++)
{
a[x] = !a[x];
}
}
int main()
{
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 1; i <= n; i++) revflip(i);
for (int i = 1; i <= n; i++) cout << a[i] << " ";
}