How to start learning for competitive programming?
I am interested in solving coding problems like the ones on codechef, acm icpc. But I find I am approaching it the wrong way. All I know is basic c++ that I learned in sem1. So it takes me a lot of time solving those algorithmic problems. Perhaps I should first study algorithms and data structures? I should focus more on standard library in c++? I am little confused, so would be grateful if anyone suggest me how I should start for competitive programming.Also how can i code better in c++, using its advanced features.