Registration ends on July 17. $80,000 in prize money will be distributed starting with $10,000 to the winner, all the way down to $250 for 100th place.
You can check out practice problems at the site. Each problem has a small and large input data set. Solutions can be implemented in any programming language. For each input data set, you must upload the resulting output data set for scoring. The problems seem to require all sorts of general algorithms; for example:
To make matters interesting, some of the items on your list may be perishable. Whenever you make a purchase that includes one or more perishable items, you cannot drive to another store without first stopping back at your house. Every item on your shopping list is guaranteed to be sold by at least one store, so the trip will always be possible.