A bountiful number of problems from previous competitions are available on the Internet. Below you will find a few sample questions. Some of them are taken from a previous regional competition. There is also a group of easier problems. In general solutions do not require more than 100 lines of code.
Many solutions are a page long.
However, solving the problems may require techniques such as backtracking, developing a long arithmetic package, divide and conquer, setting recursive relations, greedy approach, translating problems into graphs and applying graph algorithms. A number of problems just require common sense. And all of them require thinking. Remember that learning is a very slow process so do not get discouraged if practice problems take you a long time and appear too hard. Later it will be faster and the problems will appear easier, believe me.