Sei sulla pagina 1di 6

8/17/2015

CompetitiveprogrammingWikipedia,thefreeencyclopedia

Competitiveprogramming
FromWikipedia,thefreeencyclopedia

Competitiveprogrammingisamindsportusuallyheldoverthe
Internetoralocalnetwork,involvingparticipantstryingto
programaccordingtoprovidedspecifications.Competitive
programmingisrecognizedandsupportedbyseveral
multinationalsoftwareandInternetcompanies,suchasGoogle,
[1][2]Facebook[3]andIBM.[4]Thereareseveralorganizations
whohostprogrammingcompetitionsonaregularbasis.
Aprogrammingcompetitiongenerallyinvolvesthehost
presentingasetoflogicalormathematicalproblemstothe
contestants(whocanvaryinnumberfromtenstoseveral
thousands),andcontestantsarerequiredtowritecomputer
programscapableofsolvingeachproblem.Judgingisbased
mostlyuponnumberofproblemssolvedandtimespentfor
writingsuccessfulsolutions,butmayalsoincludeotherfactors
(qualityofoutputproduced,executiontime,programsizeetc.)

Openchampionshiponprogramming
Yandex.Algorithm,August22,2013.

Contents
1History
2Overview
3Notablecompetitions
3.1Shortterm
3.2Longterm
4Onlinecontestandtrainingresources
5References
6Externallinks

History
OneoftheoldestcontestsknownisACMICPCwhichoriginatedinthe1970s,andhasgrowntoinclude
88countriesinits2011edition.Interestincompetitiveprogramminghasgrownextensivelysince2000,
andisstronglyconnectedtothegrowthoftheInternet,whichfacilitatesholdinginternationalcontests
online,eliminatinggeographicalproblems.

Overview
Theaimofcompetitiveprogrammingistowritesourcecodeofcomputerprogramswhichareableto
solvegivenproblems.Avastmajorityofproblemsappearinginprogrammingcontestsaremathematical
orlogicalinnature.Typicalsuchtasksbelongtooneofthefollowingcategories:combinatorics,number
theory,graphtheory,geometry,stringanalysisanddatastructures.Problemsrelatedtoartificial
intelligencearealsopopularincertaincompetitions.

https://en.wikipedia.org/wiki/Competitive_programming

1/6

8/17/2015

CompetitiveprogrammingWikipedia,thefreeencyclopedia

Irrespectiveoftheproblemcategory,theprocessofsolvingaproblemcanbedividedintotwobroad
steps,constructinganefficientalgorithm,andimplementingthealgorithminasuitableprogramming
language(thesetofprogramminglanguagesallowedvariesfromcontesttocontest).Thesearethetwo
mostcommonlytestedskillsinprogrammingcompetitions.
Inmostcontests,thejudgingisdoneautomaticallybyhostmachines,commonlyknownasjudges.
Everysolutionsubmittedbyacontestantisrunonthejudgeagainstasetof(usuallysecret)testcases.
Normally,contestproblemshaveanallornonemarkingsystem,meaningthatasolutionis"Accepted"
onlyifitproducessatisfactoryresultsonalltestcasesrunbythejudge,andrejectedotherwise.
However,somecontestproblemsmayallowforpartialscoring,dependingonthenumberoftestcases
passed,thequalityoftheresults,orsomeotherspecifiedcriteria.Someothercontestsonlyrequirethat
thecontestantsubmittheoutputcorrespondingtogiveninputdata,inwhichcasethejudgeonlyhasto
analyzethesubmittedoutputdata.

Notablecompetitions
Therearetwotypesofcompetitionformats:shorttermandlongterm.Eachroundofshortterm
competitionlastsfrom1to3hours.Longtermcompetitionscanlastfromafewdaystoafewmonths.

Shortterm
ACMICPConeoftheoldestcompetitions,forstudentsofuniversitiesingroupsof3persons
each,sponsoredbyIBM
CodeChefCookOff[5]anACMICPCstyleprogrammingcontestheldonsecondlastSundayof
everymonth
CodeChefLunchTime[5]aJuniorProgrammingseriesheldonlastSundayofeverymonth,for
middle/highschoolstudents
CodeChefSnackDown[6]Anannualmultiroundglobalprogrammingcontesthostedby
CodeChef
Codeforces[7]holds45shortcontestseverymonth
FacebookHackerCupcompetitionheldfrom2011,providedandsponsoredbyFacebook
GoogleCodeJamcompetitionheldfrom2003,providedandsponsoredbyGoogle
HackerRankAdInfinitum[8]MathProgrammingContestbyHackerRank
HackerRankEpicCode[9]SummerCodeSprintonAlgorithmicChallengesbyHackerRank
IEEEXtremeProgrammingCompetitioncompetitionheldsince2006byIEEE
IOIoneoftheoldestcompetitions,forsecondaryschoolstudents
TopCoderAlgorithmOpencompetitionheldsince2004byTopCoder
Inmostoftheabovecompetitions,sincethenumberofcontestantsarequitelarge,competitionsare
usuallyorganizedinseveralrounds.Theyusuallyrequireonlineparticipationinallroundsexceptthe
last,whichrequireonsiteparticipation.AspecialexceptiontothisisIEEEXtreme,whichisayearly24
hourvirtualprogrammingcompetition.ThetopperformersatIOIandACMICPCreceivegold,silver
andbronzemedalswhileintheothercontests,cashprizesareawardedtothetopfinishers.Alsohitting
thetopplacesinthescoretablesofsuchcompetitionsmayattractinterestofrecruitersfromsoftware
andInternetcompanies.

Longterm
AlZimmermann'sProgrammingContests[10]
CodeChefLongChallenges[5]
https://en.wikipedia.org/wiki/Competitive_programming

2/6

8/17/2015

CompetitiveprogrammingWikipedia,thefreeencyclopedia

CodeEval[11]Supportsmultiplelanguages
CodinGame[12]
GoogleAIChallenge
HelloWorldOpen[13]competitionorganizedbyReaktorandSupercell
Kaggle
TopCoderMarathonmatches

Onlinecontestandtrainingresources
Theprogrammingcommunityaroundtheworldhascreatedandmaintainedseveralinternetresources
dedicatedtocompetitiveprogramming.Theyofferstandalonecontestswithorwithoutminorprizes.
Alsothepastarchivesofproblemsareapopularresourcefortrainingincompetitiveprogramming.
Theseinclude:
Alexa
Rank

Name

Description

Website

"MostInnovative"Competitive
Programmingwebsite.Itwasstarted
in2012,andoffersprogramming
problemsindifferentdomainsof
hackerrank.com
8779[14] HackerRank ComputerScience.Italsohosts
(http://hackerrank.com)
annualCodesprintswhichhelp
connectthecodersandSiliconValley
startups.
12967
[15]

13488
[16]

17823
[17]

17745
[18]

Bangalore,Indiabasedcompany
providingonlinecontestlike
HackerEarth environmentaimingatproviding
recruitmentassessmentsolutions.

www.hackerearth.com
(http://www.hackerearth.com)

CodeChef

MaintainedbyDirecti,ithostsa10
daylongcontestandacoupleof
shortcontestseverymonth(oneIOI
styledandotherACMICPCstyled),
andprovidesacontesthosting
platformtoeducationalinstitutions
forfree.Thetoptwowinnersofthe
longcontestwincashprizeswhile
thetop10globalgetateeshirt.

Kaggle

Kaggleisacommunityofdata
scientists.Theycompetewitheach
othertosolvecomplexdatascience
problems,andthetopcompetitorsare
www.kaggle.com
invitedtoworkonthemost
(http://www.kaggle.com)
interestingandsensitivebusiness
problemsfromsomeoftheworlds
biggestcompaniesthroughMasters
competitions.

LeetCodeOJisaplatformfor
LeetCode
preparingtechnicalcoding
OnlineJudge
interviews.

www.codechef.com
(http://www.codechef.com)

www.leetcode.com
(http://www.leetcode.com)

USresourceandcompany,which
https://en.wikipedia.org/wiki/Competitive_programming

3/6

8/17/2015

20802
[19]

22012
[20]

31767
[21]

34100
[22]

33717

CompetitiveprogrammingWikipedia,thefreeencyclopedia

TopCoder

USresourceandcompany,which
organizescontestsandalsoprovides
industrialproblemsasakindoffree
lancejobitoffersdozensofshort
contestsandseverallong
www.topcoder.com
("marathons")everyyear.Specific
featureparticipantshaveachanceto (http://www.topcoder.com)
checkcorrectnessofother
contestants'solutionsaftercoding
phaseandbeforefinalautomatic
testing(socalled"challengephase").

Codeforces

Russianresource,maintainedby
SaratovStateUniversity,which
mostlyprovidesfrequent(uptotwo
perweek)shortcontests.Special
codeforces.com(http://codeforces.com)
features:abilitytocheckcorrectness
ofothercontestants'solutionsduring
"codingphase",virtualcontests,
trainingsetc.

Competitive organizationthatpromotestrainings
acm.javeriana.edu.co/maratones
Programming incompetitiveprogrammingthrough
(http://acm.javeriana.edu.co/maratones)
Network
periodicprogrammingcontests.
Largecollectionofcomputational
mathproblems(i.e.notdirectly
ProjectEuler relatedtoprogrammingbutoften
requiringprogrammingskillsfor
solving).
Polishonlinejudgesystemwhich
providesalotofproblemsfor
training,andprovidesaplatformfor
otherorganizerstohosttheir
programmingcontests.

projecteuler.net(http://projecteuler.net)

[23]

SPOJ

61387

Codility

codility.com/programmers/
(http://codility.com/programmers/)

73803

CodingBat

codingbat.com(http://codingbat.com/)

85017

Spanishresource,maintainedby
UniversityofInformationScience.
Caribbean
Containsover3,000problemsfor
OnlineJudge
practicing.Alsohostsregularonline
competitions.

coj.uci.cu(http://coj.uci.cu)

94538

CodinGame

CodinGameisanonlinegaming
platformthatprovidessoloand
multiplayergamesforprogrammers
andalsohostsmonthlyinternational
onlinecodingcontests.

120945

Programmr
UVaOnline

125102

Judge

www.spoj.com(http://www.spoj.com)

www.codingame.com
(http://www.codingame.com)

www.programmr.com
(http://www.programmr.com/)
Containsover3,500problemsfor

practicing.Hostsregularonline
competitions.
https://en.wikipedia.org/wiki/Competitive_programming

uva.onlinejudge.org
(http://uva.onlinejudge.org)
4/6

8/17/2015

CompetitiveprogrammingWikipedia,thefreeencyclopedia

competitions.
CheckiO

AwebsitewhichprovidesPython
basedprogrammingchallengesina
gamelikeenvironment.

167190

Coderbyte

Websitethatprovidesprogramming
challengesthatyoucansolvein
severallanguagesinanonlineeditor coderbyte.com(http://coderbyte.com)
(70+exercisesand3contestsasof
August2014).

169060

CodeEval

www.codeeval.com
(https://www.codeeval.com/)

180197

AizuOnline
Judge

judge.uaizu.ac.jp/onlinejudge/
(http://judge.uaizu.ac.jp/onlinejudge/)

248555

Peking
Chinesewebsitewithabout3000
University
programmingpuzzlesinEnglish.
OnlineJudge

poj.org(http://poj.org)

267538

Russianwebsitewithmorethana
thousandproblemsinRussianand
OnlineJudge English,maintainedbyUralState
University,whichmostlyprovides
~10contestsperyear.

acm.timus.ru(http://acm.timus.ru)

148075

448658

476270

www.checkio.org
(http://www.checkio.org)

CodeAbbey

collectionofover160beginnerlevel
problemsandexercisesforpracticing
www.codeabbey.com
programming(awarding
(http://www.codeabbey.com)
"certificates"forsolving125of
them)

LightOJ

LightOnlineJudgeaBangladeshi
websitecontaininghundredsof
categorizedproblemsforpractice.
Userscanalsohosttheirown
contestsbyuploadingdatasetor
selectingproblemsfromLightOJ.

lightoj.com(http://lightoj.com)

References
1. "GoogleCodeJam"(http://code.google.com/codejam).google.com.
2. "TCO12Sponsor:GoogleTCO12"(http://community.topcoder.com/tco12/overviewsponsor/tco12
sponsorgoogle/).topcoder.com.
3. "FacebookHackerCup"(http://www.facebook.com/hackercup).Facebook.
4. ACMInternationalCollegiateProgrammingContestWorldFinalsSponsoredbyIBM
(http://www.ibm.com/developerworks/university/students/contests/acm/index.html)
5. "COMPETECodeChef"(http://www.codechef.com/contests).codechef.com.
6. "SnackdownHomeCodeChef"(http://snackdown.codechef.com).codechef.com.
7. "Codeforces"(http://codeforces.com/).Codeforces.
8. "ProgrammingproblemsandCompetitions::HackerRank"(https://www.hackerrank.com/infinitum).
HackerRank.
9. "ProgrammingproblemsandCompetitions::HackerRank"(http://www.hackerrank.com/epiccode).
HackerRank.
10. http://www.azspcs.com/
11. "CodeEvalCodingChallengesfortheWorld'sBestDevelopers"(https://www.codeeval.com).codeeval.com.
12. "Programmingisfun"(http://www.codingame.com/).CodinGame.
https://en.wikipedia.org/wiki/Competitive_programming

5/6

8/17/2015

13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.

CompetitiveprogrammingWikipedia,thefreeencyclopedia

"HelloWorldOpen"(http://helloworldopen.com).helloworldopen.com.
"hackerrank.comSiteOverview"(http://www.alexa.com/siteinfo/hackerrank.com).alexa.com.
"hackerearth.comSiteOverview"(http://www.alexa.com/siteinfo/hackerearth.com).alexa.com.
"codechef.comSiteOverview"(http://www.alexa.com/siteinfo/codechef.com).alexa.com.
"kaggle.comSiteOverview"(http://www.alexa.com/siteinfo/kaggle.com).alexa.com.
"leetcode.comSiteOverview"(http://www.alexa.com/siteinfo/leetcode.com).alexa.com.
"topcoder.comSiteOverview"(http://www.alexa.com/siteinfo/topcoder.com).alexa.com.
"codeforces.comSiteOverview"(http://www.alexa.com/siteinfo/codeforces.com).alexa.com.
"javeriana.edu.coSiteOverview"(http://www.alexa.com/siteinfo/javeriana.edu.co).alexa.com.
"projecteuler.netSiteOverview"(http://www.alexa.com/siteinfo/projecteuler.net).alexa.com.
"spoj.comSiteOverview"(http://www.alexa.com/siteinfo/spoj.com).alexa.com.

Externallinks
Opensourceprojectforrunningcontests
ContestManagementSystem(https://github.com/cmsdev/cms)OpensourcetoolinPythontorun
andmanageaprogrammingcontestonaserverIOI2012andIOI2013.
Retrievedfrom"https://en.wikipedia.org/w/index.php?
title=Competitive_programming&oldid=676427071"
Categories: Programmingcontests
Thispagewaslastmodifiedon16August2015,at22:47.
TextisavailableundertheCreativeCommonsAttributionShareAlikeLicenseadditionalterms
mayapply.Byusingthissite,youagreetotheTermsofUseandPrivacyPolicy.Wikipediaisa
registeredtrademarkoftheWikimediaFoundation,Inc.,anonprofitorganization.

https://en.wikipedia.org/wiki/Competitive_programming

6/6