How many players are you expecting? Do you already have a player-base?
I don't remember the average bandwith for each player, but it varies a lot. It really depends on your script though, objects, vehicles, textdraws and all that stuff

Not to mention the players themselves. Everything requires bandwith. Say for example you get 500GB bandwith, that basically means you can download/upload 500GB a month. That accounts for FTP, every time someone loads your website, and all the players. If you have 500 players on at all times, only that would probably reach around 2-3 TB every month (Not completely sure about this, but still, a lot).
If your script is optimised properly, like not wasting away memory, having unnecessary loops and so on, you would be good with a lowend VPS in the start. As said in my last post, you can just upgrade as your player-base increases.
I think apache requires about 32MB of memory (Unless you have THOUSANDS of visitors every day). Not to sure about how MySQL requires, but as they say, the more the merrier! You will notice a big difference in the speed of MySQL if you have more memory. And considering that you are probably planning to use MySQL for your script, it would be easy to implement UCP's, forums and such on your website, due to the fact that you already have the MySQL server.
As for CPU, I would say sa-mp barely use anything at all of it, can't really go into detail about it, as I'm not sure how the sa-mp server is built/developed. You should be good with a single core, though I would recommend going with dual core, because as we all know now, the more the merrier!
If you do decide to get a VPS, please, go with linux. Either CentOS/Debian/Ubuntu. It might be a little bit hard to understand at first, but as soon as you start getting the hang of it, you will really notice the difference in stability and resource usage (At least that's my opinion). Install Apache and MySQL first. From there I would actually recommend you to download GamePanelX and install it to your server (Remote version preferably, as it includes FTP directly to your server folder). Now, I know this is mostly used when you have mutliple servers, but it's easier to work with when controlling your server. In there you can upload files, change the server configuration, start, stop and restart your server, which is really everything you need to get everything up and running!
Anyways, gotta go, might edit this later and go more into details, if you want me to : )