Some cruise lines have more 20-ish than others, but you're right that on a 21 day cruise the number of younger people is going to be substantially lower than it would be on a 5 or 7 day cruise. Still, your grandparents are bringing you along; chances are other family groups will be there, too. On a ship with 1000 - 2000 passengers it's a pretty good bet that at least a few dozen will fall into your age range. And it's more likely that you'll meet them all, in a late-night venue. As for good times, I think you get what you go looking for, and only a surly brat who feels "dragged along" by his or her elders will fail to have a good time on a cruise ship.