Given a list of cell phone towers, the cost or gain of upgrading each one, and the requirement that every upgraded tower can only have upgraded towers in its range, can you find the most profitable set of towers to upgrade?

Caught your attention? Then we have the competition for you.

We’re thrilled to announce Google’s annual Code Jam competition. Google Code Jam is a programming competition in which professional and student programmers solve complex algorithmic challenges in a limited amount of time. The contest is all-inclusive: Google Code Jam lets you compete in the programming language and development environment of your choice.

And, this year, for the very first time, the final competition will take place in Google’s Dublin office.

Visit http://code.google.com/codejam to register now and get up to speed on the rules. You can also practice on problems from previous contests. It’s a good idea to check out the competition arena and get comfortable with the interface, competition format and types of problems that you’ll encounter in the contest (http://code.google.com/codejam/archive.html).

The qualification round starts on May 7th, 2010 and after four rounds of online competition, the top 25 competitors will be flown to Google's Dublin office to match wits for the $5,000 first prize — and the title of Code Jam champion!