It's really tough to get into top 5 schools. There will likely be hundreds (if not thousands) of applicants with similar or better qualifications as yours. Top universities care about your research experience and potential, so anything (such as more research experience and quality publications) that can help to demonstrate your research ability would be a plus. Your letters of recommendation are important, and it is a big plus if your letter writers are known to the admissions committee. I'm going to a top 20 school in the fall, and I don't think my letter writers were known to the adcomm, but for a top 5 or top 10 school, it's probably best to have at least one letter writer who the admissions committee knows about. Top universities also care a lot about fit, ie how well would you fit in with the research that is already being done there. If your interests aren't a good fit for that school, then they are likely to reject you, even if you have sterling credentials such as first author publications. So do your research well in choosing schools that would be a good fit for you and don't apply to schools solely because of their reputation.
I'll also second what has been said here already - improve your quant GRE score (although it's not important at top schools, about 50% of all CS applicants score an 800 on the quant, so your 720 won't look so good). Also consider other schools beside the top 5. So perhaps you could also look at applying to a few top 20 schools and some top 50 schools that would be good matches for your interests.