#include <vector>
#include <algorithm> // but placing this include here breaks DON'T CHANGE ANYTHING ABOVE
#include <iostream> // added for demonstration purposes
using namespace std;
vector<int> rotate(const vector<int>& v)
{
// PUT CODE BELOW THIS LINE. DON'T CHANGE ANYTHING ABOVE.
std::vector<int> result(v); // copy input array
std::rotate(result.begin(), result.begin()+1, result.end());
return result;
// PUT CODE ABOVE THIS LINE. DON'T CHANGE ANYTHING BELOW.
}
int main()
{
for (const auto & val: rotate({1,2,3}))
{
std::cout << val << ' ';
}
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGFsZ29yaXRobT4gLy8gYnV0IHBsYWNpbmcgdGhpcyBpbmNsdWRlIGhlcmUgYnJlYWtzIERPTidUIENIQU5HRSBBTllUSElORyBBQk9WRQojaW5jbHVkZSA8aW9zdHJlYW0+IC8vIGFkZGVkIGZvciBkZW1vbnN0cmF0aW9uIHB1cnBvc2VzCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2ZWN0b3I8aW50PiByb3RhdGUoY29uc3QgdmVjdG9yPGludD4mIHYpCnsKICAgLy8gUFVUIENPREUgQkVMT1cgVEhJUyBMSU5FLiBET04nVCBDSEFOR0UgQU5ZVEhJTkcgQUJPVkUuCiAgIHN0ZDo6dmVjdG9yPGludD4gcmVzdWx0KHYpOyAvLyBjb3B5IGlucHV0IGFycmF5CiAgIHN0ZDo6cm90YXRlKHJlc3VsdC5iZWdpbigpLCByZXN1bHQuYmVnaW4oKSsxLCByZXN1bHQuZW5kKCkpOwogICByZXR1cm4gcmVzdWx0OwogICAvLyBQVVQgQ09ERSBBQk9WRSBUSElTIExJTkUuIERPTidUIENIQU5HRSBBTllUSElORyBCRUxPVy4KfQoKaW50IG1haW4oKQp7CiAgICBmb3IgKGNvbnN0IGF1dG8gJiB2YWw6IHJvdGF0ZSh7MSwyLDN9KSkKICAgIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgdmFsIDw8ICcgJzsKICAgIH0KfQo=