Bulletin #4
October 28, 2019

2019 Deadlines

Last Day to Register Teams and Pay Team Fees
Oct. 31

Last Day for Full Refunds (Team Cancellations)

to Oct. 31

Registrar will begin approving teams. (Approval process detailed below.)

Nov. 1

Last Day to Change Team Composition and to Complete Profiles.

Nov. 3

Final Team Approvals.

Nov. 4
Last day for 50% Refunds (Team Cancellations)
to Nov. 4
Begin processes: print badges; assign teams to workstations; print sign in sheets, team lists, etc.
Nov. 5

For information about cancellations and refunds, see "Policy regarding last minute team cancellations and team fee refunds" in Bulletin #3.

Is my team eligible to compete?

It is (and has always been) the Coach's responsibility to certify the contestants' eligibility to participate. Any team that advances to the Finals will have its eligibility verified and certified with the World Finals officials. The ICPC software does include flags/logic for some eligibility issues.  

To review the eligibility rules, see the Eligibility Rules  and Eligibility Decision Tree on the ICPC Web site. 

Reminder: Teams will be approved only after they have completed profiles, are eligible, and have their team fee paid.


North American Championship

The four top-placing universities from the Southern California Regions will advance to the ICPC NAC, which will be held in Atlanta, Georgia and hosted by the College of Computing at the Georgia Institute of Technology.

The top teams from the ICPC NAC 2020 will advance to the 2020 ICPC World Finals 21-26 June, 2020 in Moscow, Russia, hosted by the Moscow Institute of Physics and Technology (MIPT).

The teams and coaches will be treated to a full schedule of activities including a full course of complimentary food functions. Transportation to the NAC is the responsibility of the team.

-- Stay tuned for more information --


2019 Environment and Judging

Note: You are encouraged to bring hard copies of this page or any other pages from our web site to the Regional Contest.

Each team will be provided with a single computer with a monitor, keyboard and mouse; three chairs; and a small work area.

Each team will have a machine of its own to use during the contest. During the contest, contestants are to use the network only to submit contest problems or questions and get responses from the contest officials. Connecting to any other computer on the LAN or Internet, either before or during the contest, with telnet, FTP, Web browser, email, or any other network application is grounds for expulsion from the contest.

This year the Southern California Regional Contest will be using Fedora 28 as the host OS for the environment. We will be supplying Eclipse as an IDE along with the JetBrains IDEs (IntelliJ IDEA, CLion, PyCharm), but will include Geany, vim, emacs and other standard command line editors.

The contest will be providing one USB flash drive per team. You will be allowed to copy your code to it at the end of the contest and take it with you.

Lastly, the contest will use the web based judging environment called DOMJudge. Please download and read the Team Manual for information on how to use the DOMJudge interface.

If you have any questions about the Contest Environment, send them to <systems@socalcontest.org> .


  • Intel Core i7 CPUs
  • Fedora 30 Linux (64-bit)
  • XFCE Desktop Environment

You will have all the tools that accompany a basic installation of Linux: AWK, Python, perl, and many others. These tools simply tag along with the installation process. Any languages or programs beyond the tagalongs, the compilers, and the tools stated below are installed at the convenience and discretion of the environment manager, <systems@socalcontest.org>.

Programming Languages

The judges accept problem submissions only in the following programming languages.

Language Version
C gcc 9.2.1
C++ g++ 9.2.1
Java Oracle Java 11.0.4
Included Python 3 Python 3.7.4standard release; no external libraries

The execution time limits set for each problem will NOT be scaled based on the language. It is the individual contestant’s responsibility to select the appropriate algorithm(s) and language tool to produce correct output within the allotted time limits.


Programs will be compiled and linked using the Standard C++ Library included by default with g++.


Regional judges will accept solutions coded in Python 3, but do not guarantee the problems posed can be solved using Python 3.

The following tools and documentation will be available online in the system image:

IDEs Debuggers Documentation
Eclipse 2019-09 (4.13.0) includes Java, C/C++, and Python support DDD 3.3.12 UNIX manual pages
Geany 1.35 gdb 8.3-6

Java html-based API docs (Javadoc)

IntelliJ IDEA 2019.2 jdb 11.0.4j

C++ Standard Library documentation

CLion 2019.2   Local Documentation for Python 3
PyCharm 2019.2    


Editor Version Notes
emacs 26.2 character based (emacs -nw) and mouse based (emacs)
vim 8.1.1991 Vi IMproved, character based (vi, vim)
ed 1.14.2 line-oriented text editor
Mousepad 0.4.2 Fast text editor for the XFCE desktop environment

Note: jed and pico are not supported.


After you have submitted a source file for judging, your submission will be run with one or several sets of input data and the results reviewed. It is the judges' intent never to reveal directly or indirectly the specific input data the judges use to test contestant programs. The judges will respond to your submission with one of the following messages. If a submission contains more than one type of error, the response will still contain only one message. The judges will report only the first error seen, which may not necessarily be the error that occurs first or most frequently in the output.

Response Description
CORRECT The submission passed all tests: you solved this problem! Correct submissions do not incur penalty time.
COMPILER-ERROR There was an error when compiling your program. Note that when compilation takes more than 30 seconds, it is aborted and this counts as a compilation error.
TIMELIMIT Your program took longer than the maximum allowed time for this problem. Therefore it has been aborted. This might indicate that your program hangs in a loop or that your solution is not efficient enough.
RUN-ERROR There was an error during the execution of your program. This can have a lot of different causes like division by zero, incorrectly addressing memory (e.g. by indexing arrays out of bounds), trying to use more memory than the limit, etc. Also check that your program exits with exit code 0!
NO-OUTPUT Your program did not generate any output. Check that you write to standard out.
OUTPUT-LIMIT Your program generated more output than the allowed limit. The output was truncated and considered incorrect.
WRONG-ANSWER The output of your program was incorrect. This can happen simply because your solution is not correct, but remember that your output must comply exactly with the specifications of the judges.

Although we do use robo-judge where possible, we verify every response before returning it to the team to ensure accurate, quality responses. The effect of this is that, depending on solution traffic and other factors, response times may vary.

Get ready!

Find practice contests at:



See sample Southern California Regional problems at:


MORE Practice

For 5 weeks preceding the ICPC Regionals and for 5 weeks preceding the ICPC NA Championship and for 5 weeks preceding the ICPC World Finals, here will be a series of weekend practice contests available at:




Bulletin release dates

Bulletin - Main Topic
Release Date
Registration and Fee Payment Deadlines
Food and Parking Passes
Deadline to Alter Teams; Environment
Schedule for the Day; Required Forms
Last Minute Announcements and Reminders