Take a look here: http://www.■■■■■■■■■■■■■■■■■■■■■/BA_MD_programs.html
The best ones would probably be Brown and Northwestern. However, don’t just think you’ll get into one of these programs. It’s hard to get into these schools, let alone an advanced program that only accepts ~20 students a year out of thousands of applicants.
Also, becoming a cardiologist does not take 7 years. It takes 4 years of undergrad and 4 years of med school (7 years total if you get into one of these accelerated programs), and then another 6-8 years in specialization. In total it will take between 13 and 16 years to become a cardiologist, so think carefully before setting yourself up for this path.