#include <iostream>
#include <vector>
#include <iostream>
using namespace std;
void middle_out(vector<int> v)
{
int mid = v.at(v.size()/2);
int idx = (v.size()/2);
int offset = 0;
int sign = -1;
while(offset >= 0 && offset < v.size())
{
sign *= -1;
idx += offset*sign;
cout << v[idx] << " ";
offset+=1;
}
cout << endl;
}
int main(int argc, char const *argv[])
{
vector<int> v1 = {1,2,3,4,5};
vector<int> v2 = {1,2,3,4,5,6};
middle_out(v1);
middle_out(v2);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIG1pZGRsZV9vdXQodmVjdG9yPGludD4gdikKewogIGludCBtaWQgPSB2LmF0KHYuc2l6ZSgpLzIpOwogIGludCBpZHggPSAodi5zaXplKCkvMik7CiAgaW50IG9mZnNldCA9IDA7CiAgaW50IHNpZ24gPSAtMTsKCiAgd2hpbGUob2Zmc2V0ID49IDAgJiYgb2Zmc2V0IDwgdi5zaXplKCkpCiAgewogICAgc2lnbiAqPSAtMTsKICAgIGlkeCArPSBvZmZzZXQqc2lnbjsKICAgIGNvdXQgPDwgdltpZHhdIDw8ICIgIjsKICAgIG9mZnNldCs9MTsKICB9CiAgY291dCA8PCBlbmRsOwogfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgY29uc3QgKmFyZ3ZbXSkKewogIHZlY3RvcjxpbnQ+IHYxID0gezEsMiwzLDQsNX07CiAgdmVjdG9yPGludD4gdjIgPSB7MSwyLDMsNCw1LDZ9OwogIG1pZGRsZV9vdXQodjEpOwogIG1pZGRsZV9vdXQodjIpOwogIAogIHJldHVybiAwOwp9