Smart contracts having percentage distribution of hardcap with limited supply


I want to write a smart contracts that will have fixed supply. I want to distribute that total supply in percentage form like 3% for founders, 20% for early investors, and remaining 77% for public as a reward on a process. Right now, I am confused that how this thing will be distributed via code. As the list of early investors can vary and will be known after launch so how it can be manageable. Shall I need to make a mapping list that will contains addresses of all the stakeholders of each type?

For example, one map will contains list of founders which will have percentage of shares in the end, one other map will have list of early investors which will filled as investors invest. At the end of closing the ICO, it will be distributed to investors according to percentage? Any help will be appreciated.