I have participated in plenty of contests and know enough about the rules to say that you don't have to worry about runtime and memory usage differences between programming language. Depending on the language used, a solution can take longer or use more memory so that the programming language is pretty much moot and the algorithm is the important bit.
Usually, the runtimes are used to filter algorithms to ones that use the correct runtime. If a problem is about sorting, they will want a O(n log n) algorithm. Nearly any O(n log n) algorithm will work and anything higher (usually O(n^2)) will fail.
Now that we've leveled the playing field we can get to the language features. My language of choice for these contests is C++ for two reasons. The first one is personal: i know C/C++ pretty well. The second one is a main advantage: the C++ STL provides a larger number of containers and standard algorithms with runtime guarantees which greatly speed up writing code if you know how to use them. Many of the newer languages do provide these kinds of libraries, but in my limited experience with the other languages i have been unable to like them as much as the STL for this purpose. The fact that you have runtime guarantees in the STL makes it particularly suited for this contests, where runtime is key.
In the end it all depends on what you want to teach tho. I would dare to dive into C++ with new students, as long as they are eager to learn and show a reasonable level of thinking like a programmer. If you know a lot more about python and can explain and use the algorithmic basics of runtime and memory usage well in python, go ahead and use python. Any language which allows you to strictly adhere to runtime instructions will work.