I am thinking of "reading" codes rather than solving problem for some time. Like I read Div2 D,E problem and then see the solution,understand it and then code it myself and solve it. Like this I can do for 2-3 months doing around 10 problems per day so I will learn most of the skills,optimization,hints,etc. After that I solve problems and participate in contest then I can use my previous memories and try to relate to certain things.
Will that work and what level can I reach with this type of training ?
Try it yourself and report results.
I'm not sure if this will help your problem solving skills but you will definitely learn how to understand solutions, which is a useful skill too. If it doesn't help in problem solving, you will be better prepared to learn it some other way (e.g. by taking a look at model solution if you don't understand something in editorial).
Although I would suggest reading codes of higher rated coders, so take Div 1 B,C instead of Div 2 D,E since these are usually the same level (and often even the same problem) and you get better quality code. Of course this is not a rule but in general higher rated coders tend to have the codes better organized, especially since the problem itself is easier for them. You might even focus on few selected people who write codes readable to you. I can suggest Petr's codes or even the screencasts on youtube to see how the codes were growing.
I don't understand the first point. So doing like this will not help my ratings to grow?
That's hard to say. Possibly a little but not as much as by just solving problems the usual way. But after you do the training your way, the usual way will be more efficient.