I just graduated from one of the older IITs (Indian Institute of Technology), majoring in EE and have a GPA of about 7.8 / 10. I want to pursue a masters degree in computer science from a top 20 university in the US. I have a paper published in an international conference on machine learning and have good test scores(GRE / TOEFL) but I'm worried that my grades could affect my chances. I have some experience in competitive programming, my team finished among the top 10 among 300+ teams in the ACM ICPC regionals and I have a decent Topcoder rating. Not sure if this matters though. I have also made contributions to open source projects and have open sourced some of my projects, some of which have been downloaded thousands of times.
I've seen people from unknown colleges with higher GPAs getting in to places like Stanford, UIUC, Cornell, CMU etc. Realistically, do I have any chance of getting admitted in a top 10 or 20 program. If not, what can I do to improve my chances within a year?
UPDATE: Well, I guess grades do matter, I didn't get into any of the good schools I applied to. I'll have to give up my hopes of grad school now.