Programmer's Wiki

ACM International Collegiate Programming Contest (abbreviated as ACM-ICPC or just ICPC) is an annual multi-tiered computer programming competition among the universities of the world. The contest is sponsored by IBM. Headquartered at Baylor University, with autonomous regions on six continents, the ICPC directed by Baylor Professor William B. Poucher, Executive Director, and operates under the auspices of the Association for Computing Machinery (ACM).


The ACM International Collegiate Programming Contest, ICPC, traces its roots to a competition held at Texas in 1970 hosted by the Alpha Chapter of the Upsilon Pi Epsilon Computer Science Honor Society (UPE). The contest evolved into its present form as a multi-tier competition in 1977, with the first finals held in conjunction with the ACM Computer Science Conference.

From 1977 to 1989, the contest included mainly teams from U.S. and Canada. Headquartered at Baylor University since 1989, with regionals established within the world's university community, operating under the auspices of ACM, and with substantial industry support, the ICPC has grown into a worldwide competition with teams from 84 countries in 2005.

Since the beginning of IBM's sponsorship in 1997, contest participation has grown enormously. In 1997, 840 teams from 560 universities participated. In 2006, 6,099 teams from 1,756 universities participated. The number of teams keeps increasing by 10-20% every year and future competitions may be even larger.

The World Finals of the ACM International Collegiate Programming Contest World Finals, ACM-ICPC World Finals, is the final round of competition. Over its history it has become a 4-day event held in the finest venues world-wide. [UPE] recognizes all of the regional champions at the event. Recent World Champion teams have been recognized by their country's head of state and at the annual ACM Awards Ceremony.

Contest rules[]

The ICPC is a team competition. Current rules stipulate that each team consist of three students. Participants must be university students, who have had less than five years of university education before the contest. Students who have previously competed in two World Finals or five regional competitions are ineligible to compete again.

During contest, the teams are given 5 hours to solve between 8 and 11 programming problems (with 8 typical for regionals and 10 for finals). They must submit solutions as programs in C, C++, or Java. Programs are then run on test data. If a program fails to give a correct answer, the team is notified about that and they can submit another program.

The winner is the team which correctly solves most problems. If necessary to rank teams for medals or prizes among tying teams, the placement of teams is determined by the sum of the elapsed times at each point that they submitted correct solutions plus 20 minutes for each rejected submission of a problem ultimately solved.

For example, consider a situation when two teams, Red and Blue, tie by solving two problems each. The team Red submitted their solutions to A and B at 1:00 and 2:45 after the beginning of the contest. They had a rejected run on C, but it was ignored since they didn't solve C. The team Blue submitted solutions to problems A and C at 1:20 and 2:00 after the beginning. They had one rejected run on C. Then, the total time is 1:00+2:45=3:45 for team Red and 1:20+2:00+0:20=3:40 for team Blue. The tie is broken in favor of Team Blue.

Compared to other programming contests (for example, International Olympiad in Informatics), the ICPC is characterized by a large number of problems (8 or more problems in just 5 hours). Another feature is that each team can use only one computer, although teams have three students. This makes the time pressure even greater. Good teamwork and ability to withstand pressure is needed to win.

Regionals and World Finals[]

The contest consists of several stages. Many universities hold local contests to determine participants at the regional level. Then, universities compete in Regional contests. Winners of Regional contests advance to the ACM-ICPC World Finals. More than one team from a university can compete in regionals, but only one may compete at the world finals. From each region, at least one team goes to World Finals. Regions with large number of teams send multiple teams to finals (sometimes as many as 6 teams from one very large region).

No participant can take part in more than two World Finals.

Some large regions also hold Subregional competitions which are intermediate between local and regional contests.

2004 World Finals[]

The 2004 ACM-ICPC World Finals were hosted at the Obecni Dum, Prague by Czech Technical University in Prague. 3,150 teams representing 1,411 universities from 75 countries competed in elimination rounds, with 73 of those teams proceeding to the world finals. St. Petersburg Institute of Fine Mechanics and Optics from Russia won, solving 7 of 10 problems. Gold medalists were St. Petersburg Institute of Fine Mechanics and Optics, KTH - Royal Institute of Technology (Sweden), Belarusian State University, and Perm State University (Russia).

2005 World Finals[]


Opening Ceremony in 2005.

The 2005 world finals were held at Pudong Shangri-La Hotel in Shanghai on April 6, 2005, hosted by Shanghai. 4,109 teams representing 1,582 universities from 71 countries competed in elimination rounds, with 78 of those teams proceeding to the world finals. Shanghai won its second world title, with 8 of 10 problems solved. [1] Gold medal winners were Shanghai Jiaotong, Moscow State University, St. Petersburg Institute of Fine Mechanics and Optics (Russia), and University of Waterloo (Canada).

2006 World Finals[]

The 2006 ACM-ICPC World Finals were held in San Antonio, Texas, sponsored by IBM and hosted by Baylor University. 5,606 teams representing 1,733 universities from 84 countries competed in elimination rounds, with 83 of those teams proceeding to the world finals. Saratov State University from Russia won, solving 6 of 10 problems. Gold medal winners were Saratov, Jagiellonian University (Poland), University of Twente (The Netherlands), Altai State Technical University (Russia).

2007 World Finals[]

The 2007 ACM-ICPC World Finals were held at the Tokyo Bay Hilton, in Tokyo, Japan, March 12-16, 2007. The World Finals was sponsored by IBM and hosted by the ACM Japan Chapter and the IBM Tokyo Research Lab. Some 6,099 teams competed on six continents at the regional level. Eighty-eight teams advanced to the World Finals. Warsaw University won its second world championship, solving 8 of 10 problems. Gold Medal Winners were Warsaw University, Tsinghua University (China), St. Petersburg Institute of Fine Mechanics and Optics (Russia), and the Massachusetts Institute of Technology (United States).

2008 World Finals[]

The 2008 ACM-ICPC World Finals were held at the Fairmont Banff Springs Hotel, in Banff, Alberta, April 6-10, 2008. The World Finals is sponsored by IBM and hosted by the University of Alberta who is celebrating their 100th anniversary. The St. Petersburg Institute of Fine Mechanics and Optics won their second world championship. Massachusetts Institute of Technology, Izhevsk State Technical University, and Lviv National University also received gold medals.

2009 World Finals[]

The 2009 ACM-ICPC World Finals will be held in Stockholm, Sweden, April 18-22, at the Grand Hotel of Sweden, the Radisson Strand, and the Diplomat Hotel. The World Finals is sponsored by IBM and hosted by the Royal KTH. One hundred (100) teams will advance from over 200 regional sites to compete for the World Championship. In the Nobel tradition, Opening Ceremony will be in Town Hall and the Awards Ceremony will be held in the Concert Hall.


Top institutions
Wins Institution
3 Stanford University
2 California Institute of Technology
2 Saint Petersburg State University
2 Saint Petersburg State University
2 Shanghai
2 University of Warsaw
2 University of Waterloo
2 Washington University in St. Louis
  • 2008 - Saint Petersburg State University, Russia
  • 2007 - University of Warsaw, Poland
  • 2006 - Saratov State University, Russia
  • 2005 - Shanghai, China
  • 2004 - Saint Petersburg State University, Russia
  • 2003 - University of Warsaw, Poland
  • 2002 - Shanghai, China
  • 2001 - St. Petersburg State University, Russia
  • 2000 - St. Petersburg State University, Russia
  • 1999 - University of Waterloo, Canada
  • 1998 - Charles University, Czech Republic
  • 1997 - Harvey Mudd College, U.S.
  • 1996 - University of California, Berkeley, U.S.
  • 1995 - Albert-Ludwigs-Universität, Freiburg, Germany
By country
Contests Country
  • 1994 - University of Waterloo, Canada
  • 1993 - Harvard University, U.S.
  • 1992 - University of Melbourne, Australia
  • 1991 - Stanford University, U.S.
  • 1990 - University of Otago, New Zealand
  • 1989 - University of California at Los Angeles, U.S.
  • 1988 - California Institute of Technology, U.S.
  • 1987 - Stanford University, U.S.
  • 1986 - California Institute of Technology, U.S.
  • 1985 - Stanford University, U.S.
  • 1984 - Johns Hopkins University, U.S.
  • 1983 - University of Nebraska, U.S.
  • 1982 - Baylor University, U.S.
  • 1981 - University of Missouri–Rolla, U.S.
  • 1980 - Washington University in St. Louis, U.S.
  • 1979 - Washington University in St. Louis, U.S.
  • 1978 - Massachusetts Institute of Technology, U.S.
  • 1977 - Michigan State University, U.S.

See also[]

External links[]

Smallwikipedialogo.png This page uses content from Wikipedia. The original article was at ACM International Collegiate Programming Contest. The list of authors can be seen in the page history. As with the Programmer's Wiki, the text of Wikipedia is available under the GNU Free Documentation License.