Well, I *never* use arrays of dynamically allocated memory unless I really need to; vectors are virtually the same performance and they clean up after themselves.
A nice feature about std::vector is that it knows its own size -- so it can easily be passed anywhere, and the size goes along with it.
Apart from some memory overhead, a vector is practically as good as an array, and safer to boot.
Oh, I never use "using namespace xxx" unless I was porting legacy code. I much prefer to always see the std::, because there are cases (vector being one of them) where I have multiple libraries with the same class names.