G/S/C and HG/SS, because you have two regions, 16 gyms, and a ton of trainers on routes.
Question : Why people say G/S/C are the longest Pokemon ???
Answer : Probably because the illusion of the 16 badges and the two regions.
Ruby and Sapphire are much more longer than G/S/C even G/S/C has 2 region and 16 gym because G/S/C has the shorter main story line in any Pokemon games, the story line is not developped. Johto is a very short region, the Johto region is very quick and easy to finish that's why a suck Kanto was added to have an acceptable duration (Not need to jump for joy). And Hoenn is bigger than Johto+the very little 2G watered down Kanto combined. If you play in G/S/C and R/B/J/V in same speed, defeated the 16 gym in G/S/C make a similar time to get the 8 badges and defeated the league in R/B/Y. In G/S/C there are not long Dungeon like the lavender cave, Sylph CO, long victory road to have a long duration...
The routes in Johto are also very short, 15 minutes to walk in the longest routes (32) with trainers !
In the same speed i finish Pokemon Blue in 16 hours, Pokemon gold in 13 hours (17 hours for the 2 regions and the 16 badges+Red), Pokemon Sapphire in 19 hours, Emerald in 22 hours, Diamond in 20 hours, black and white in 16 hours (N battle), Black and White 2 in 22 hours.