]> iEval git - gruntmaster-page.git/commitdiff
Merge branch 'master' into newmc
authorMarius Gavrilescu <marius@ieval.ro>
Sun, 15 Feb 2015 21:42:09 +0000 (23:42 +0200)
committerMarius Gavrilescu <marius@ieval.ro>
Sun, 15 Feb 2015 21:42:09 +0000 (23:42 +0200)
40 files changed:
a/about.en [new file with mode: 0644]
a/about.en.title [new file with mode: 0644]
a/fin.en [new file with mode: 0644]
a/fin.en.title [new file with mode: 0644]
a/guide.en [new file with mode: 0644]
a/guide.en.title [new file with mode: 0644]
a/index.en
a/index.en.title
a/rules.en [new file with mode: 0644]
a/rules.en.title [new file with mode: 0644]
a/st.en [new file with mode: 0644]
a/st.en.title [new file with mode: 0644]
a/team.en [new file with mode: 0644]
a/team.en.title [new file with mode: 0644]
a/testing.en [new file with mode: 0644]
a/testing.en.title [new file with mode: 0644]
app.psgi
css/logo.css [new file with mode: 0644]
css/logos.css [new file with mode: 0644]
css/mindcoding.css [new file with mode: 0644]
js/90-ga.js [new file with mode: 0644]
js/90-move-sponsors.js [new file with mode: 0644]
js/90-nav.js
js/90-themes.js
js/90-webchat-link.js [new file with mode: 0644]
lib/Plack/App/Gruntmaster.pm
lib/Plack/App/Gruntmaster/HTML.pm
mclogo.svg [new file with mode: 0644]
static/guide/1.png [new file with mode: 0644]
static/guide/2.png [new file with mode: 0644]
static/guide/3.2.png [new file with mode: 0644]
static/guide/3.png [new file with mode: 0644]
static/guide/4.2.png [new file with mode: 0644]
static/guide/4.png [new file with mode: 0644]
static/guide/5.png [new file with mode: 0644]
static/logos.png [new file with mode: 0644]
tmpl/ct_entry.en
tmpl/ed.en
tmpl/pb_entry.en
tmpl/skel.en

diff --git a/a/about.en b/a/about.en
new file mode 100644 (file)
index 0000000..2c1d517
--- /dev/null
@@ -0,0 +1,25 @@
+We are a group of coders of all ages, passionate about problem solving and algorithms. Together, we created MindCoding, an online platform where anyone can learn algorithms and test their skills. Join us, teach yourself new things and have fun!
+<p>
+Our website provides a problem list with an online evaluation system, which means you&#39ll find out on the spot if your solution is correct. We support a wide rande of programming languages, allowing all programers to participate, regardless of their technical background. <b>Read from stdin and print to stdout.</b>
+<p>
+If you take part in our coding competition (which we strongly recommend!) don&#39t forget to check out our standings and see how well you did compared to your friends.
+<p>
+Put your mind to work and code!
+
+<h2>How to use the website</h2>
+First you need to create an account. For this click the Account button in the navbar.<br>
+When you want to do an action that needs an account you will be required to log in. <br>
+To submit a problem you can either paste your code into the text area for the corresponding problem or browse for the source.<br>
+To take part in a contest, you don't need to register to a particular one, you just need to access its page after the contest starts.
+Here are some examples for how to submit:<br>
+<a href="http://ideone.com/58mgdC">C</a><br>
+<a href="http://ideone.com/gH3zg1">C++</a><br>
+<a href="http://ideone.com/N7TkzK">Java</a><br>
+<a href="http://ideone.com/dQgwIT">Pascal</a><br>
+<a href="http://ideone.com/gSKAGU">Perl</a><br>
+<a href="http://ideone.com/3H6NmV">Python</a><br>
+
+
+<!--
+Mind Coding wants to gather the students passionate of Computer Science, regardless of age and background and offer them the chance to collaborate. Contestants will have the opportunity to get in touch with Cluj-Napoca’s employers, and also to scrutinize the facilities of studying at “Babes-Bolyai” University. During the online round, the students may establish contact with employers through banners and sponsored problems. At the final round, officials of universities and companies from Cluj will hold presentations and will directly communicate with students. Mind Coding endeavors to reward the elite of Computer Science’s students and attract them to Cluj-Napoca in the near future. Furthermore, Mind Coding wants to create a large community of enthusiastic students, attempting to establish strong connection between Romanian peers.
+-->
\ No newline at end of file
diff --git a/a/about.en.title b/a/about.en.title
new file mode 100644 (file)
index 0000000..f461446
--- /dev/null
@@ -0,0 +1 @@
+About / Help
diff --git a/a/fin.en b/a/fin.en
new file mode 100644 (file)
index 0000000..b350526
--- /dev/null
+++ b/a/fin.en
@@ -0,0 +1,82 @@
+<h2 id="standings">Standings</h2>
+<table border class="table table-bordered table-condensed">
+<thead><tr><th>Rank<th>Name<th>Final 1<th>Final 2<th>Total
+<tbody><tr><td>1<td>Alex Velea <td>451<td>683<td>1134
+<tr><td>2<td>Rares Buhai <td>502<td>431<td>933
+<tr><td>3<td>Patcas Csaba <td>175<td>287<td>462
+<tr><td>4<td>Mircea Popoveniuc <td>0<td>361<td>361
+<tr><td>5<td>Mărcuș Romulus George <td>254<td>0<td>254
+<tr><td>6<td>Onesim Robert Ioan <td>48<td>147<td>195
+<tr><td>7<td>Vlad Duta <td>92<td>70<td>162
+<tr><td>8<td>Alghisi Alessandro <td>150<td>0<td>150
+<tr><td>9<td>Adrian Craciun <td>90<td>0<td>90
+<tr><td>10<td>Dan Alexandru <td>89<td>0<td>89
+<tr><td>11<td>Stefan Negrus <td>88<td>0<td>88
+<tr><td>12<td>Alex Cociorva <td>83<td>0<td>83
+<tr><td>13<td>Nechita Sebastian <td>74<td>0<td>74
+<tr><td>14<td>Plop Teodor <td>62<td>0<td>62
+<tr><td>15<td>Bucevschi Alexandru <td>54<td>0<td>54
+<tr><td>16<td>Costin Bianca <td>0<td>0<td>0
+<tr><td>17<td>Dit Dragos-Daniel <td>0<td>0<td>0
+<tr><td>18<td>Emanuel Truta <td>0<td>0<td>0
+<tr><td>19<td>Kis Levente Lorand <td>0<td>0<td>0
+<tr><td>20<td>Paffy Sandor<td>0<td>0<td>0
+</table>
+
+<div id="participants" class="row">
+<div class="col-md-4">
+<h2>Qualified</h2>
+<ol>
+<li>Rares Buhai
+<li>Mihai Popa
+<li>Mugurel Ionut Andreica
+<li>Vlad Duta
+<li>Romulus George Marcus
+<li>Mihai Nitu
+<li>Catalin Stefan Tiseanu
+<li>Adrian Craciun
+<li>Mihai Gheorghe
+<li>Alex Cociorva
+<li>Mircea Popoveniuc
+<li>Stefan Negrus
+<li>Teodor Ionescu
+<li>Alexandru Dan
+<li>Teodor Plop
+</ol>
+</div>
+
+<div class="col-md-4">
+<h2>Waiting list</h2>
+<ol>
+<li>Onesim Robert Ioan
+<li>Buleandra Cristian
+<li>Ioan Vlad Petcu
+<li>Andrei Stanciu
+<li>Nathan Wildenberg
+<li>Alexandru Bucevschi
+<li>Andrei Gogonea
+<li>Felix Puscasu
+<li>Matei Paun
+<li>Gedit Ciorabai
+</ol>
+</div>
+
+<div class="col-md-4">
+<h2>Qualified (Cluj)</h2>
+<ol>
+<li>Alex Velea
+<li>Csaba Patcas
+<li>Vasile Lup
+<li>Emanuel Truta
+<li>Sergiu Cosmin Nistor
+<li>Dragos Crisan
+<li>Bianca Costin
+<li>Tudor Octavian Pocola
+<li>Dragos-Daniel Dit
+<li>Sandor Pallfy
+<li>Alessandro Alghisi
+<li>Levente Lorand Kis
+<li>Sebastian Nechita
+</ol>
+</div>
+</div>
diff --git a/a/fin.en.title b/a/fin.en.title
new file mode 100644 (file)
index 0000000..4d60e6b
--- /dev/null
@@ -0,0 +1 @@
+Final Round Participants
diff --git a/a/guide.en b/a/guide.en
new file mode 100644 (file)
index 0000000..c270379
--- /dev/null
@@ -0,0 +1,72 @@
+<div class="well">\r
+       <h2>Quick Start Guide:</h2>\r
+       <ul>\r
+               <li>First of all you need to <b>create an account</b>. For this, click the <b>Account</b> button in the navbar.\r
+               When you want to do an action that needs an account you will be requiered to log in. <i>For example see last step in the Submitting part.</i></li>\r
+               <li>In order to <b>take part in a contest</b> <u>you don't need to register to a particular one</u>. You just need to <b>access its page</b> after the contest starts.</li>\r
+               <li>To <b>submit a solution</b> you can either paste your code into the text area for the corresponding problem or browse for the source. In what follows you can see all the steps for submitting:  </li>\r
+       </ul>\r
+\r
+       <div style="clear: both; display:block; position:relative; float: left; width: 600px">\r
+               <h3>STEP 1: Choosing a problem from the list</h3>\r
+               <img alt="" height="272" src="/static/guide/1.png" width="400" style="float: left; margin:2px 10px">\r
+               <br><p>In order to choose a problem click the <b>Problems</b> button from the \r
+               navbar. </p>\r
+               <p>Then <b>click on</b> the problem you want to solve.\r
+       <br><i>For example let's choose <b>A+B</b> problem.</i> </p>\r
+       </div>\r
+\r
+       <div style="clear: both; display:block; position:relative; float: left">\r
+               <h3>STEP 2: Starting to fill the form</h3>\r
+               <img alt="" height="272" src="/static/guide/2.png" width="400" style="float: left; margin:2px 10px">\r
+               <br>\r
+               <p> From now on we focus on <b>Submit solution</b> area. </p>\r
+               <p> Here we can find the form to be filled in order to upload a solution to any given problem.</p>\r
+       </div>\r
+\r
+       <div style="clear: both; display:block; position:relative; float: left">\r
+               <h3>STEP 3: Solution source code</h3>\r
+               <table style="margin-left:10px; text-align:center">\r
+               <tr>\r
+                       <td style="width:200px"><b>1st Option</b> - Upload the source file<br>\r
+                               <img alt="" height="192" src="/static/guide/3.png" width="350" style="margin:2px 10px"><br>\r
+                               Go to <b>Choose file</b> button from <b>File</b> area and then choose the source file.\r
+                       </td>\r
+                       <td> or </td>\r
+                       <td style="width:200px"><b>2nd Option</b> - Paste the code<br>\r
+                               <img alt="" height="340" src="/static/guide/3.2.png" width="250" style="margin:2px 10px">\r
+                       </td>\r
+               </tr>\r
+               </table>\r
+               <i>Here are some examples for how to submit:</i>\r
+               <ul>\r
+                       <li><a href="http://ideone.com/58mgdC" target="_blank">C</a></li>\r
+                       <li><a href="http://ideone.com/gH3zg1" target="_blank">C++</a></li>\r
+                       <li><a href="http://ideone.com/N7TkzK" target="_blank">Java</a></li>\r
+                       <li><a href="http://ideone.com/dQgwIT" target="_blank">Pascal</a></li>\r
+                       <li><a href="http://ideone.com/gSKAGU" target="_blank">Perl</a></li>\r
+                       <li><a href="http://ideone.com/3H6NmV" target="_blank">Python</a></li>\r
+               </ul>\r
+       </div>\r
+\r
+\r
+       <div style="clear: both; display:block; position:relative; float: left">\r
+               <h3>STEP 4: Selecting the file format</h3>\r
+               <img alt="" height="270" src="/static/guide/4.png" width="250" style="float: left; margin:2px 10px">\r
+               <p> After uploading the source code we have to choose the format \r
+               corresponding to the code we provided as solution.</p>\r
+       </div>\r
+\r
+       <div style="clear: both; display:block; position:relative; float: left">\r
+               <h3>...and SUBMIT</h3>\r
+               <img alt="" height="260" src="/static/guide/5.png" width="250" style="float: left; margin:2px 10px">\r
+               <p>Click the <b>Submit job</b> button and wait for the results.</p> <p>You will be redirected \r
+               to <b>Job log</b> page where you can see the results. </p>\r
+\r
+       </div>\r
+       <div style="clear:both"> </div>\r
+\r
+       <h3>Good luck!</h3>\r
+\r
+\r
+</div>\r
diff --git a/a/guide.en.title b/a/guide.en.title
new file mode 100644 (file)
index 0000000..1fb0ba9
--- /dev/null
@@ -0,0 +1 @@
+Quick start guide
\ No newline at end of file
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b1f07539eb6ba624774107aafead198971098562 100644 (file)
@@ -0,0 +1,58 @@
+<div class="well">
+<h2>Online qualification round schedule for 2015</h2>
+<ul>
+<li>Round 1: 12th of February 2015
+<li>Round 2: 26th of February 2015
+<li>Round 3: 12th of March 2015
+<li>Round 4: 26th of March 2015
+</ul>
+
+<p>Each round will begin at 19:00 EET and will last one hour and a
+half (90 minutes)<br> For any questions contact us on
+<a href="http://webchat.oftc.net/?channels=%23mindcoding">#mindcoding</a>
+(irc.oftc.net)<br>
+Read our <a href="guide">quick-start guide</a>
+</div>
+
+<div class="well">
+<h2>MindCoding Competition — The Second Edition</h2>
+<p>We are excited to announce the return of MindCoding, the fun but
+still challenging programming competition! It doesn't matter if you
+have a job, you're in college or still in school, what really matters
+is that you're passionate about problem solving.
+
+<p>Join our community and have the opportunity to learn new things and
+make a name for yourself! Are you passionate about a certain
+technology? Do you need a team in order to work on a project?
+MindCoding will help you make new friends who share your interests.
+
+<p>The first online round is Thursday, the 12th of February. We hope
+you'll join us!
+
+<p>You will have to solve 4 algorithmic problems of varying difficulty
+levels, and they will be scored based on their level and your problem
+solving speed. In order for a solution to be considered correct, it
+must pass all of our tests. We strongly recommend getting used to our
+platform by solving a few warm-up challenges.
+
+<p>Good luck and have fun!
+</div>
+
+<div class="well">
+<h2>MindCoding Final Round</h2>
+Read the <a href="/fin">standings</a>, the <a href="/fin#participants">list of participants</a> and the rules (<a href="https://www.facebook.com/notes/mindcoding/regulament-runda-finala/483266961802900">Part 1</a> and <a href="https://www.facebook.com/notes/mindcoding/regulament-organizare-cazare-conditii-runda-finala-11-13-aprilie-2014/483630131766583">Part 2</a>).
+
+</div>
+
+<div class="well">
+<h2>MindCoding National Competition - First Edition</h2>
+<p>We are happy to announce the launch of MindCoding, our fun and challenging national programming competition! It doesn&#39t matter if you have a job, you&#39re a student or you&#39re still in school, what really matters is your passion for problem solving.
+<p>
+Join our community and have the opportunity to learn new things and make a name of yourself! Are you passionate about a certain technology? Do you need a team for working on a project? MindCoding will help you make new friends who share your interests.
+<p>
+The first online round is this Thursday, on the 30th of January. We hope you&#39ll join us!
+<p>
+You will have to solve 4 algorithmic problems of various difficulty levels, and they will be scored based on their level and your problem solving speed. In order for a solution to be considered correct, it must pass all of our tests. We strongly recommend getting used to our platform by solving a few warm-up  <a href="/pb/">challenges</a>.
+<p>
+Good luck and have fun!
+</div>
index e7e81c93c088e5d20e78bb5a18f9aadf1e297226..2fd89ce471155889117369f7dad7bda2a1d8bfe5 100644 (file)
@@ -1 +1 @@
-Gruntmaster 6000
\ No newline at end of file
+Home
diff --git a/a/rules.en b/a/rules.en
new file mode 100644 (file)
index 0000000..332c964
--- /dev/null
@@ -0,0 +1,13 @@
+<h3>MindCoding - Rules</h3>
+
+<ul>
+<li>Each round will consist of 4 algorithmic problems.
+<li>Your final score will be calculated by adding your scores for all the problems in the round.
+<li>After submitting a solution it will be evaluated on a few pretests and you will be able to see your result for that given test set.
+<li>At the end of a round, the solution will be evaluated on a set of tests. If it doesn’t output the correct answer for all the tests or it exceeds our memory/time limit for at least one test, it will be scored with 0 points.
+<li>Each problem will have a maximum score between 1000 and 100, depending on it’s difficulty.
+<li>The maximum score you can obtain on a problem decreases as time passes after you’ve read it.
+<li>In order to decide whether your solution is correct, only your last uploaded source file will be taken into consideration.
+<li>If the contestant wishes to resend a solution for a problem, the problem’s maximum score will decrease by 10%.
+<li>Each problem will have a minimum score under which the score can not decrease, no matter how many solutions a contstant submits.
+</ul>
diff --git a/a/rules.en.title b/a/rules.en.title
new file mode 100644 (file)
index 0000000..c191cb5
--- /dev/null
@@ -0,0 +1 @@
+Rules
\ No newline at end of file
diff --git a/a/st.en b/a/st.en
new file mode 100644 (file)
index 0000000..489b1dc
--- /dev/null
+++ b/a/st.en
@@ -0,0 +1,119 @@
+<table class="table table-bordered table-striped">
+<thead><tr><th>Nr<th>User<th>Round 2<th>Round 3<th>Round 4<th>Total
+<tbody>
+<tr><td>1<td><a href="/us/raresbuhai">Rares Buhai</a><td>555<td>1436<td>771<td>2762
+<tr><td>2<td><a href="/us/mihaipopa12">Mihai Popa</a><td>1100<td>1223<td>270<td>2593
+<tr><td>3<td><a href="/us/geniucos">Oncescu Costin Andrei</a><td>417<td>814<td>514<td>1745
+<tr><td>4<td><a href="/us/mugurelionut">Mugurel Ionut Andreica</a><td>396<td>1262<td>-<td>1658
+<tr><td>5<td><a href="/us/alex_velea">Alex Velea</a><td>67<td>409<td>686<td>1162
+<tr><td>6<td><a href="/us/cosminrusu">Cosmin Rusu</a><td>30<td>171<td>897<td>1098
+<tr><td>7<td><a href="/us/vman">Vlad Duta</a><td>139<td>456<td>266<td>861
+<tr><td>8<td><a href="/us/PlayLikeNeverB4">Mărcuș Romulus George</a><td>558<td>302<td>-<td>860
+<tr><td>9<td><a href="/us/onisimnecula">Necula Onisim</a><td>-<td>-<td>845<td>845
+<tr><td>10<td><a href="/us/SleepyOverlord">Patcas Csaba</a><td>232<td>208<td>395<td>835
+<tr><td>11<td><a href="/us/Mikester95">Mihai Nitu</a><td>163<td>493<td>158<td>814
+<tr><td>12<td><a href="/us/Zeus">Catalin Stefan Tiseanu</a><td>-<td>595<td>193<td>788
+<tr><td>13<td><a href="/us/deneo">Adrian Craciun</a><td>78<td>447<td>196<td>721
+<tr><td>14<td><a href="/us/lockmihai">Mihai Gheorghe</a><td>96<td>98<td>440<td>634
+<tr><td>15<td><a href="/us/Al3ks1002">Alex Cociorva</a><td>156<td>199<td>208<td>563
+<tr><td>16<td><a href="/us/mirceadino">Mircea Popoveniuc</a><td>92<td>75<td>381<td>548
+<tr><td>17<td><a href="/us/Duxar">Stefan Negrus</a><td>111<td>173<td>229<td>513
+<tr><td>18<td><a href="/us/teoionescu">Ionescu Teodor</a><td>82<td>169<td>206<td>457
+<tr><td>19<td><a href="/us/danalex97">Dan Alexandru</a><td>-<td>-<td>415<td>415
+<tr><td>20<td><a href="/us/teodor94">Plop Teodor</a><td>-<td>-<td>414<td>414
+<tr><td>21<td><a href="/us/vasilup">Lup Vasile</a><td>-<td>207<td>184<td>391
+<tr><td>22<td><a href="/us/lyonrobert">Onesim Robert Ioan</a><td>74<td>84<td>202<td>360
+<tr><td>23<td><a href="/us/manutruta">Emanuel Truta</a><td>81<td>94<td>144<td>319
+<tr><td>24<td><a href="/us/Cristy">Cristian Buleandra</a><td>0<td>212<td>106<td>318
+<tr><td>25<td><a href="/us/JohnPeter">Petcu Ioan Vlad</a><td>215<td>77<td>-<td>292
+<tr><td>26<td><a href="/us/nafets">stefan x</a><td>32<td>92<td>168<td>292
+<tr><td>27<td><a href="/us/assa98">Andrei Stanciu</a><td>-<td>-<td>262<td>262
+<tr><td>28<td><a href="/us/thewildnath">Nathan Wildenberg</a><td>68<td>-<td>191<td>259
+<tr><td>29<td><a href="/us/alex_bucevschi">Bucevschi Alexandru</a><td>-<td>96<td>158<td>254
+<tr><td>30<td><a href="/us/Declin">Gogonea Andrei</a><td>0<td>95<td>156<td>251
+<tr><td>31<td><a href="/us/RpdStrike">Puscasu Felix</a><td>30<td>91<td>128<td>249
+<tr><td>32<td><a href="/us/lol76">Lolus</a><td>-<td>243<td>-<td>243
+<tr><td>33<td><a href="/us/paunmatei7">Paun Matei</a><td>-<td>96<td>140<td>236
+<tr><td>34<td><a href="/us/gedica">Ciorabai Gedit</a><td>30<td>78<td>124<td>232
+<tr><td>35<td><a href="/us/AlexValeanu">Alexandru Valeanu</a><td>-<td>212<td>-<td>212
+<tr><td>36<td><a href="/us/stanandrei">Andrei Stan</a><td>30<td>0<td>182<td>212
+<tr><td>37<td><a href="/us/jackal02">jackal02</a><td>42<td>93<td>68<td>203
+<tr><td>38<td><a href="/us/zikade">Irimia Rares</a><td>0<td>85<td>110<td>195
+<tr><td>39<td><a href="/us/sergiu_nistor">Nistor Sergiu Cosmin</a><td>0<td>95<td>79<td>174
+<tr><td>40<td><a href="/us/vload">Stefanescu Vlad</a><td>74<td>79<td>-<td>153
+<tr><td>41<td><a href="/us/vld7">Cîmpeanu Vlăduț Alexandru</a><td>-<td>-<td>152<td>152
+<tr><td>42<td><a href="/us/cbanu_96">Banu Cristian</a><td>-<td>0<td>144<td>144
+<tr><td>43<td><a href="/us/raztaap">Albu Cristian</a><td>49<td>0<td>93<td>142
+<tr><td>44<td><a href="/us/Mihai22e">Mihai Enache</a><td>-<td>-<td>139<td>139
+<tr><td>45<td><a href="/us/smallOne">Adina Mateescu </a><td>0<td>91<td>32<td>123
+<tr><td>46<td><a href="/us/tudy23">Gergely Tudor</a><td>30<td>0<td>87<td>117
+<tr><td>47<td><a href="/us/dragoscri">Crisan Dragos</a><td>30<td>84<td>0<td>114
+<tr><td>48<td><a href="/us/Ducu">Radu Seteanu</a><td>-<td>35<td>75<td>110
+<tr><td>49<td><a href="/us/tuddy60">Bazac Tudor</a><td>105<td>-<td>-<td>105
+<tr><td>50<td><a href="/us/o_mic">Costin Bianca</a><td>0<td>96<td>-<td>96
+<tr><td>51<td><a href="/us/Mac">Alexandru Cosmin Mihai</a><td>-<td>95<td>-<td>95
+<tr><td>52<td><a href="/us/cosmin79">Cosmin Andrei Carabet</a><td>-<td>95<td>-<td>95
+<tr><td>53<td><a href="/us/torckyop">Suciu Victor</a><td>-<td>94<td>-<td>94
+<tr><td>54<td><a href="/us/gabibadea">Gabriel Badea</a><td>-<td>93<td>0<td>93
+<tr><td>55<td><a href="/us/tudyoctav99">Pocola Tudor Octavian</a><td>-<td>90<td>-<td>90
+<tr><td>56<td><a href="/us/ditzdragos">Dit Dragos-Daniel</a><td>0<td>83<td>-<td>83
+<tr><td>57<td><a href="/us/SpiriFlaviu">Berbecariu Flaviu</a><td>0<td>-<td>76<td>76
+<tr><td>58<td><a href="/us/Sanko">Palffy Sandor</a><td>75<td>-<td>-<td>75
+<tr><td>59<td><a href="/us/paul_diac">Paul Diac</a><td>72<td>-<td>-<td>72
+<tr><td>60<td><a href="/us/vladb">Vlad Badelita</a><td>-<td>72<td>-<td>72
+<tr><td>61<td><a href="/us/calin13">Calin Nicolau</a><td>-<td>71<td>-<td>71
+<tr><td>62<td><a href="/us/VTR">Luncasu Victor</a><td>67<td>-<td>-<td>67
+<tr><td>63<td><a href="/us/heracle">Radu Muntean</a><td>67<td>-<td>-<td>67
+<tr><td>64<td><a href="/us/tacboss">Tran Bach Nguyen</a><td>67<td>-<td>-<td>67
+<tr><td>65<td><a href="/us/daryne77">Teudan Adina</a><td>0<td>-<td>64<td>64
+<tr><td>66<td><a href="/us/vdorastie">Vlad Negru</a><td>64<td>-<td>-<td>64
+<tr><td>67<td><a href="/us/Rusu">Rusu Iulian - Daniel</a><td>61<td>0<td>0<td>61
+<tr><td>68<td><a href="/us/Pas">Paslaru Tudor</a><td>30<td>30<td>0<td>60
+<tr><td>69<td><a href="/us/mathboy">Dragoș Alin Rotaru</a><td>57<td>-<td>-<td>57
+<tr><td>70<td><a href="/us/mapa">Maria Pandele</a><td>55<td>-<td>-<td>55
+<tr><td>71<td><a href="/us/alexalghisi">Alghisi Alessandro</a><td>53<td>-<td>-<td>53
+<tr><td>72<td><a href="/us/tibi9876">Marin Tiberiu</a><td>52<td>-<td>0<td>52
+<tr><td>73<td><a href="/us/dr_personality">Eftime Andrei Horatiu</a><td>45<td>-<td>-<td>45
+<tr><td>74<td><a href="/us/FIIAurelian">Hreapca Aurelian</a><td>30<td>-<td>-<td>30
+<tr><td>75<td><a href="/us/Robert29">Tilica Robert</a><td>30<td>-<td>-<td>30
+<tr><td>76<td><a href="/us/clau1">clau</a><td>-<td>30<td>-<td>30
+<tr><td>77<td><a href="/us/dragangabriel">Dragan Andrei Gabriel</a><td>30<td>-<td>-<td>30
+<tr><td>78<td><a href="/us/kis3lori">Kis Levente Lorand</a><td>30<td>-<td>-<td>30
+<tr><td>79<td><a href="/us/mititelul_cristian">Mititelu Cristian</a><td>30<td>-<td>-<td>30
+<tr><td>80<td><a href="/us/sebinechita">Nechita Sebastian</a><td>30<td>-<td>-<td>30
+<tr><td>81<td><a href="/us/thesilverhand13">Florea Toma Eduard</a><td>30<td>-<td>-<td>30
+<tr><td>82<td><a href="/us/AAA22AAA">AAA22AAA</a><td>0<td>0<td>-<td>0
+<tr><td>83<td><a href="/us/Catalin287">Moldovan Catalin</a><td>0<td>-<td>-<td>0
+<tr><td>84<td><a href="/us/Catlinv">Sbera Catalin</a><td>0<td>-<td>-<td>0
+<tr><td>85<td><a href="/us/Checiu_Eliza99">Checiu Eliza Alexandra</a><td>0<td>-<td>-<td>0
+<tr><td>86<td><a href="/us/Cipri321">Ciprian Marin</a><td>-<td>-<td>0<td>0
+<tr><td>87<td><a href="/us/Luca_Vlasceanu">Luca Vlasceanu</a><td>0<td>-<td>-<td>0
+<tr><td>88<td><a href="/us/Matt">Celea Matei</a><td>0<td>-<td>-<td>0
+<tr><td>89<td><a href="/us/MesesanPaul">MesesanPaul</a><td>0<td>0<td>-<td>0
+<tr><td>90<td><a href="/us/MihaiZs">Zsisku Mihai</a><td>0<td>-<td>-<td>0
+<tr><td>91<td><a href="/us/Octa">Octavian Duiu</a><td>-<td>0<td>-<td>0
+<tr><td>92<td><a href="/us/OmerC">Omer Cerrahoglu</a><td>-<td>-<td>0<td>0
+<tr><td>93<td><a href="/us/PetruCotrut">Cotrut Petru</a><td>0<td>-<td>-<td>0
+<tr><td>94<td><a href="/us/RRomaniuc">Romaniuc Radu Andrei</a><td>0<td>-<td>-<td>0
+<tr><td>95<td><a href="/us/SanzianaTudose">Sanziana Tudose</a><td>0<td>-<td>-<td>0
+<tr><td>96<td><a href="/us/Sergiu">Sergiu P.</a><td>0<td>-<td>-<td>0
+<tr><td>97<td><a href="/us/SilverShift35">Deniz Ozguluk</a><td>0<td>-<td>-<td>0
+<tr><td>98<td><a href="/us/SniperFire360">Luca Ignatescu</a><td>0<td>-<td>-<td>0
+<tr><td>99<td><a href="/us/VirgilMunteanuPetru">Munteanu Virgil Petru</a><td>0<td>-<td>-<td>0
+<tr><td>100<td><a href="/us/YoChinezu">Weng Mihai Alexandru</a><td>0<td>-<td>-<td>0
+<tr><td>101<td><a href="/us/apollo11">Zaharia Horia</a><td>0<td>-<td>-<td>0
+<tr><td>102<td><a href="/us/beny10">Bia Beniamin</a><td>0<td>0<td>-<td>0
+<tr><td>103<td><a href="/us/blasterz">Mircea Dima</a><td>0<td>-<td>-<td>0
+<tr><td>104<td><a href="/us/denisa_checiu23">Checiu Denisa Georgiana</a><td>0<td>-<td>-<td>0
+<tr><td>105<td><a href="/us/gamamen">Muntean Cătălin</a><td>0<td>-<td>-<td>0
+<tr><td>106<td><a href="/us/gerd">Gergely David</a><td>0<td>-<td>-<td>0
+<tr><td>107<td><a href="/us/hascsi">Iulia Hascsi</a><td>-<td>0<td>-<td>0
+<tr><td>108<td><a href="/us/livand">liviu</a><td>0<td>-<td>-<td>0
+<tr><td>109<td><a href="/us/mcipri321">ciprian marin</a><td>-<td>0<td>-<td>0
+<tr><td>110<td><a href="/us/never_mind">Zlatea_Cezar</a><td>0<td>-<td>-<td>0
+<tr><td>111<td><a href="/us/onisimnecula12">Necula Onisim</a><td>-<td>0<td>-<td>0
+<tr><td>112<td><a href="/us/otniel">Mercea Otniel Bogdan</a><td>0<td>-<td>-<td>0
+<tr><td>113<td><a href="/us/span7a">Ungurasu Razvan</a><td>0<td>-<td>-<td>0
+<tr><td>114<td><a href="/us/tudy">Tudose Vlad</a><td>0<td>-<td>-<td>0
+
+</table>
\ No newline at end of file
diff --git a/a/st.en.title b/a/st.en.title
new file mode 100644 (file)
index 0000000..2f91bae
--- /dev/null
@@ -0,0 +1 @@
+MindCoding Standings
\ No newline at end of file
diff --git a/a/team.en b/a/team.en
new file mode 100644 (file)
index 0000000..154ac16
--- /dev/null
+++ b/a/team.en
@@ -0,0 +1,21 @@
+<div class="row">
+<div class="col-md-3">
+<h2>Petru Tiberiu<br>Trimbitas</h2>
+<b>Project manager</b>
+</div>
+
+<div class="col-md-3">
+<h2>Marius<br>Gavrilescu</h2>
+<b>Lead Programmer</b>
+</div>
+
+<div class="col-md-3">
+<h2>Smaranda<br>Ciubotaru</h2>
+<b>Marketing & PR Manager<br>Problemsetter</b>
+</div>
+
+<div class="col-md-3">
+<h2>Andrei<br>Constantinescu</h2>
+<b>Problemsetter</b>
+</div>
+</div>
diff --git a/a/team.en.title b/a/team.en.title
new file mode 100644 (file)
index 0000000..852ac9d
--- /dev/null
@@ -0,0 +1 @@
+The Team
diff --git a/a/testing.en b/a/testing.en
new file mode 100644 (file)
index 0000000..65ffd83
--- /dev/null
@@ -0,0 +1,98 @@
+<p>
+Testing is an important step of writing programs of any kind. In algorithm contests, bugs cost time and points, so they must be avoided. There are two strategies you can use in order to avoid bugs: detecting them in an already-written program and writing programs without them.
+
+<p>
+The most common method to finding bugs in a program is by testing it. The most common way of testing during an algorithm contest is by writing two other separate programs: one that solves the problem in a very simple way (generally a brute-force solution), and one that generates a random test. Then you can repeatedly generate a test, run the two programs on the test, and compare the outputs. If they are different, there is a bug in one of the programs.
+
+<p>
+Since you don't have to submit these two extra programs, you have a wider choice of tools than those that are allowed for the final solutions. For example in the ACM-ICPC you may only use C, C++, Java, and in the IOI C, C++, Pascal, but all Linux computers have Perl and Python interpreters.
+
+<p>
+We'll use <a href="http://mindcoding.ro/pb/maxsquare">MaxSquare</a> as an example problem. A possible generator is:
+
+<pre>
+<span class="perl-hl lin">    1 </span><span class="perl-hl slc">#!/usr/bin/perl -w</span>
+<span class="perl-hl lin">    2 </span><span class="perl-hl kwa">use</span> v5<span class="perl-hl opt">.</span>14<span class="perl-hl opt">;</span>
+<span class="perl-hl lin">    3 </span>
+<span class="perl-hl lin">    4 </span><span class="perl-hl kwc">my</span> <span class="perl-hl kwb">$n</span> <span class="perl-hl opt">=</span> <span class="perl-hl num">1</span> <span class="perl-hl opt">+</span> <span class="perl-hl kwc">int rand</span> <span class="perl-hl num">50</span><span class="perl-hl opt">;</span>
+<span class="perl-hl lin">    5 </span><span class="perl-hl kwc">say</span> <span class="perl-hl kwb">$n</span><span class="perl-hl opt">;</span>
+<span class="perl-hl lin">    6 </span><span class="perl-hl kwa">for</span> <span class="perl-hl kwc">my</span> <span class="perl-hl kwb">$i</span> <span class="perl-hl opt">(</span><span class="perl-hl num">1</span> <span class="perl-hl opt">..</span> <span class="perl-hl kwb">$n</span><span class="perl-hl opt">) {</span>
+<span class="perl-hl lin">    7 </span>    <span class="perl-hl kwa">for</span> <span class="perl-hl kwc">my</span> <span class="perl-hl kwb">$j</span> <span class="perl-hl opt">(</span><span class="perl-hl num">1</span> <span class="perl-hl opt">..</span> <span class="perl-hl kwb">$n</span><span class="perl-hl opt">) {</span>
+<span class="perl-hl lin">    8 </span>        <span class="perl-hl kwc">print</span> <span class="perl-hl num">100</span> <span class="perl-hl opt">-</span> <span class="perl-hl kwc">int rand</span> <span class="perl-hl num">200</span><span class="perl-hl opt">,</span> <span class="perl-hl str">' '</span><span class="perl-hl opt">;</span>
+<span class="perl-hl lin">    9 </span>    <span class="perl-hl opt">}</span>
+<span class="perl-hl lin">   10 </span>    <span class="perl-hl kwc">say</span> <span class="perl-hl str">''</span><span class="perl-hl opt">;</span>
+<span class="perl-hl lin">   11 </span><span class="perl-hl opt">}</span>
+</pre>
+
+We'll now need a script to run the tests. Assume that the two programs are written in C++ and named 'prog1.cpp' and 'prog2.cpp', and that the generator is named 'gen'.
+'
+<pre>
+<span class="perl-hl lin">    1 </span><span class="perl-hl slc">#!/usr/bin/perl -w</span>
+<span class="perl-hl lin">    2 </span><span class="perl-hl kwa">use</span> v5<span class="perl-hl opt">.</span>14<span class="perl-hl opt">;</span>
+<span class="perl-hl lin">    3 </span>
+<span class="perl-hl lin">    4 </span><span class="perl-hl kwc">system</span> <span class="perl-hl str">'make prog1 prog2'</span><span class="perl-hl opt">;</span>
+<span class="perl-hl lin">    5 </span><span class="perl-hl kwa">for</span> <span class="perl-hl opt">(</span><span class="perl-hl num">1</span> <span class="perl-hl opt">..</span> <span class="perl-hl num">1000</span><span class="perl-hl opt">) {</span>
+<span class="perl-hl lin">    6 </span>    <span class="perl-hl kwc">system</span> <span class="perl-hl str">'./gen &gt; input'</span><span class="perl-hl opt">;</span>
+<span class="perl-hl lin">    7 </span>    <span class="perl-hl kwc">system</span> <span class="perl-hl str">'./prog1 &lt; input &gt; output1'</span><span class="perl-hl opt">;</span>
+<span class="perl-hl lin">    8 </span>    <span class="perl-hl kwc">system</span> <span class="perl-hl str">'./prog2 &lt; input &gt; output2'</span><span class="perl-hl opt">;</span>
+<span class="perl-hl lin">    9 </span>    <span class="perl-hl kwc">die</span> <span class="perl-hl str">&quot;The outputs are different!</span><span class="perl-hl esc">\n</span><span class="perl-hl str">&quot;</span> <span class="perl-hl kwa">if</span> <span class="perl-hl kwc">system</span> <span class="perl-hl str">'diff -q output1 output2'</span><span class="perl-hl opt">;</span>
+<span class="perl-hl lin">   10 </span><span class="perl-hl opt">}</span>
+</pre>
+
+<p>
+If the two programs produce different outputs for a test, the script dies with an error, allowing the user to inspect the input and outputs, find the bug, and fix it.
+
+<hr>
+<p>
+You can also do this in other languages, such as C++. For example: <!-- The following program compares the programs <code>ok.cpp</code> and <code>brute.cpp</code>, using <code>gen.cpp</code> as a generator. -->
+
+<p>
+Generator:
+
+<pre>
+<span class="cpp-hl lin">    1 </span><span class="cpp-hl ppc">#include &lt;iostream&gt;</span>
+<span class="cpp-hl lin">    2 </span><span class="cpp-hl ppc">#include &lt;cstdlib&gt;</span>
+<span class="cpp-hl lin">    3 </span><span class="cpp-hl ppc">#include &lt;ctime&gt;</span>
+<span class="cpp-hl lin">    4 </span><span class="cpp-hl kwa">using namespace</span> std<span class="cpp-hl opt">;</span>
+<span class="cpp-hl lin">    5 </span>
+<span class="cpp-hl lin">    6 </span><span class="cpp-hl kwb">int</span> <span class="cpp-hl kwd">rnd</span><span class="cpp-hl opt">(</span><span class="cpp-hl kwb">int</span> a<span class="cpp-hl opt">,</span> <span class="cpp-hl kwb">int</span> b<span class="cpp-hl opt">) {</span>
+<span class="cpp-hl lin">    7 </span>    <span class="cpp-hl kwa">return</span> a <span class="cpp-hl opt">+</span> <span class="cpp-hl kwd">rand</span><span class="cpp-hl opt">() % (</span>b <span class="cpp-hl opt">-</span> a<span class="cpp-hl opt">);</span>
+<span class="cpp-hl lin">    8 </span><span class="cpp-hl opt">}</span>
+<span class="cpp-hl lin">    9 </span>
+<span class="cpp-hl lin">   10 </span><span class="cpp-hl kwb">int</span> <span class="cpp-hl kwd">main</span><span class="cpp-hl opt">() {</span>
+<span class="cpp-hl lin">   11 </span>    <span class="cpp-hl kwd">srand</span><span class="cpp-hl opt">(</span><span class="cpp-hl kwd">time</span><span class="cpp-hl opt">(</span>NULL<span class="cpp-hl opt">));</span>
+<span class="cpp-hl lin">   12 </span>    <span class="cpp-hl kwb">int</span> n <span class="cpp-hl opt">=</span> <span class="cpp-hl kwd">rnd</span><span class="cpp-hl opt">(</span><span class="cpp-hl num">1</span><span class="cpp-hl opt">,</span> <span class="cpp-hl num">100</span><span class="cpp-hl opt">);</span>
+<span class="cpp-hl lin">   13 </span>    cout <span class="cpp-hl opt">&lt;&lt;</span> n <span class="cpp-hl opt">&lt;&lt;</span> <span class="cpp-hl str">'</span><span class="cpp-hl esc">\n</span><span class="cpp-hl str">'</span><span class="cpp-hl opt">;</span>
+<span class="cpp-hl lin">   14 </span>    <span class="cpp-hl kwa">for</span><span class="cpp-hl opt">(</span><span class="cpp-hl kwb">int</span> i<span class="cpp-hl opt">=</span><span class="cpp-hl num">0</span><span class="cpp-hl opt">;</span> i<span class="cpp-hl opt">&lt;</span>n<span class="cpp-hl opt">; ++</span>i<span class="cpp-hl opt">) {</span>
+<span class="cpp-hl lin">   15 </span>        <span class="cpp-hl kwa">for</span><span class="cpp-hl opt">(</span><span class="cpp-hl kwb">int</span> j<span class="cpp-hl opt">=</span><span class="cpp-hl num">0</span><span class="cpp-hl opt">;</span> j<span class="cpp-hl opt">&lt;</span>n<span class="cpp-hl opt">; ++</span>j<span class="cpp-hl opt">)</span>
+<span class="cpp-hl lin">   16 </span>            cout <span class="cpp-hl opt">&lt;&lt;</span> <span class="cpp-hl kwd">rnd</span><span class="cpp-hl opt">(-</span><span class="cpp-hl num">100</span><span class="cpp-hl opt">,</span> <span class="cpp-hl num">100</span><span class="cpp-hl opt">) &lt;&lt;</span> <span class="cpp-hl str">' '</span><span class="cpp-hl opt">;</span>
+<span class="cpp-hl lin">   17 </span>        cout <span class="cpp-hl opt">&lt;&lt;</span> <span class="cpp-hl str">'</span><span class="cpp-hl esc">\n</span><span class="cpp-hl str">'</span><span class="cpp-hl opt">;</span>
+<span class="cpp-hl lin">   18 </span>    <span class="cpp-hl opt">}</span>
+<span class="cpp-hl lin">   19 </span>    <span class="cpp-hl kwa">return</span> <span class="cpp-hl num">0</span><span class="cpp-hl opt">;</span>
+<span class="cpp-hl lin">   20 </span><span class="cpp-hl opt">}</span>
+</pre>
+
+Test runner:
+
+<pre>
+<span class="cpp-hl lin">    1 </span><span class="cpp-hl ppc">#include &lt;iostream&gt;</span>
+<span class="cpp-hl lin">    2 </span><span class="cpp-hl ppc">#include &lt;cstdlib&gt;</span>
+<span class="cpp-hl lin">    3 </span><span class="cpp-hl ppc">#define TESTS 1000</span>
+<span class="cpp-hl lin">    4 </span><span class="cpp-hl kwa">using namespace</span> std<span class="cpp-hl opt">;</span>
+<span class="cpp-hl lin">    5 </span>
+<span class="cpp-hl lin">    6 </span><span class="cpp-hl kwb">int</span> <span class="cpp-hl kwd">main</span><span class="cpp-hl opt">() {</span>
+<span class="cpp-hl lin">    7 </span>    <span class="cpp-hl kwd">system</span><span class="cpp-hl opt">(</span><span class="cpp-hl str">&quot;g++ -o gen gen.cpp&quot;</span><span class="cpp-hl opt">);</span><span class="cpp-hl slc">//compile the files, the executable file will be named gen</span>
+<span class="cpp-hl lin">    8 </span>    <span class="cpp-hl kwd">system</span><span class="cpp-hl opt">(</span><span class="cpp-hl str">&quot;g++ -o brute brute.cpp&quot;</span><span class="cpp-hl opt">);</span>
+<span class="cpp-hl lin">    9 </span>    <span class="cpp-hl kwd">system</span><span class="cpp-hl opt">(</span><span class="cpp-hl str">&quot;g++ -o ok ok.cpp&quot;</span><span class="cpp-hl opt">);</span>
+<span class="cpp-hl lin">   10 </span>    <span class="cpp-hl kwa">for</span><span class="cpp-hl opt">(</span><span class="cpp-hl kwb">int</span> i<span class="cpp-hl opt">=</span><span class="cpp-hl num">0</span><span class="cpp-hl opt">;</span> i<span class="cpp-hl opt">&lt;</span>TESTS<span class="cpp-hl opt">; ++</span>i<span class="cpp-hl opt">) {</span>
+<span class="cpp-hl lin">   11 </span>        <span class="cpp-hl kwd">system</span><span class="cpp-hl opt">(</span><span class="cpp-hl str">&quot;./gen &gt; input&quot;</span><span class="cpp-hl opt">);</span><span class="cpp-hl slc">//redirects the stdout of the program gen to the file named input</span>
+<span class="cpp-hl lin">   12 </span>        <span class="cpp-hl kwd">system</span><span class="cpp-hl opt">(</span><span class="cpp-hl str">&quot;./brute &lt; input &gt; bout&quot;</span><span class="cpp-hl opt">);</span><span class="cpp-hl slc">//redirects the file input to stdin and stdout to bout</span>
+<span class="cpp-hl lin">   13 </span>        <span class="cpp-hl kwd">system</span><span class="cpp-hl opt">(</span><span class="cpp-hl str">&quot;./ok &lt;input &gt; oout&quot;</span><span class="cpp-hl opt">);</span>
+<span class="cpp-hl lin">   14 </span>        <span class="cpp-hl kwa">if</span><span class="cpp-hl opt">(</span><span class="cpp-hl kwd">system</span><span class="cpp-hl opt">(</span><span class="cpp-hl str">&quot;diff -q bout oout&quot;</span><span class="cpp-hl opt">)) {</span>
+<span class="cpp-hl lin">   15 </span>            cout<span class="cpp-hl opt">&lt;&lt;</span><span class="cpp-hl str">&quot;Outputs differ&quot;</span><span class="cpp-hl opt">;</span>
+<span class="cpp-hl lin">   16 </span>            <span class="cpp-hl kwa">return</span> <span class="cpp-hl num">0</span><span class="cpp-hl opt">;</span>
+<span class="cpp-hl lin">   17 </span>        <span class="cpp-hl opt">}</span>
+<span class="cpp-hl lin">   18 </span>    <span class="cpp-hl opt">}</span>
+<span class="cpp-hl lin">   19 </span>    <span class="cpp-hl kwa">return</span> <span class="cpp-hl num">0</span><span class="cpp-hl opt">;</span>
+<span class="cpp-hl lin">   20 </span><span class="cpp-hl opt">}</span>
+</pre>
\ No newline at end of file
diff --git a/a/testing.en.title b/a/testing.en.title
new file mode 100644 (file)
index 0000000..73709ba
--- /dev/null
@@ -0,0 +1 @@
+Testing
index 0da080861e8e171bcb592dcff05cef5514af1338..e2f5b0527492e1f88a15226b4ee46b89e5a4de54 100644 (file)
--- a/app.psgi
+++ b/app.psgi
@@ -13,7 +13,7 @@ use Tie::Hash::Expire;
 
 use constant AUTH_TIMEOUT => 5 * 60;
 use constant ACCESSLOG_FORMAT => '%{X-Forwarded-For}i|%h %u "%r" %>s %b "%{Referer}i" "%{User-agent}i"';
-use constant CONTENT_SECURITY_POLICY => q,default-src 'none'; script-src 'self' www.google-analytics.com; style-src 'self'; img-src 'self'; connect-src 'self',;
+use constant CONTENT_SECURITY_POLICY => q,default-src 'none'; script-src 'self' www.google-analytics.com; style-src 'self'; img-src 'self' www.google-analytics.com; connect-src 'self',;
 
 our $db //= Gruntmaster::Data->connect($ENV{GRUNTMASTER_DSN} // 'dbi:Pg:');
 
diff --git a/css/logo.css b/css/logo.css
new file mode 100644 (file)
index 0000000..98c4367
--- /dev/null
@@ -0,0 +1,14 @@
+#logo {
+       width:  600px;
+       height: 150px;
+}
+
+#mind path   { stroke: none }
+#coding path { fill:   #FFF }
+ellipse      { stroke: #FFF }
+#head        { fill:   #FFF }
+
+.logo-light #mind path   { stroke: #373435 }
+.logo-light #coding path { fill:   #373435 }
+.logo-light ellipse      { stroke: #373435 }
+.logo-light #head        { fill:   #373435 }
diff --git a/css/logos.css b/css/logos.css
new file mode 100644 (file)
index 0000000..2264433
--- /dev/null
@@ -0,0 +1,25 @@
+a.logo {
+       background: url("/static/logos.png") no-repeat;
+       display: inline-block;
+       vertical-align: middle;
+}
+
+a.logo-bigstep{ background-position: -5px -318px; width: 250px; height: 72px; }
+a.logo-bosch{ background-position: -260px -318px; width: 250px; height: 75px; }
+a.logo-cos{ background-position: -5px -740px; width: 212px; height: 53px; }
+a.logo-csf{ background-position: -244px -708px; width: 220px; height: 120px; }
+a.logo-easyhost{ background-position: -5px -395px; width: 250px; height: 59px; }
+a.logo-emag{ background-position: -260px -398px; width: 250px; height: 83px; }
+a.logo-endava{ background-position: -5px -459px; width: 250px; height: 86px; }
+a.logo-eyc{ background-position: -407px -833px; width: 166px; height: 53px; }
+a.logo-facebook{ background-position: -469px -708px; width: 111px; height: 111px; }
+a.logo-hermesa.logo-light{ background-position: -5px -798px; width: 200px; height: 111px; }
+a.logo-hermes{ background-position: -210px -833px; width: 192px; height: 101px; }
+a.logo-mc{ background-position: -515px -318px; width: 25px; height: 32px; }
+a.logo-spyhce{ background-position: -260px -486px; width: 250px; height: 95px; }
+a.logo-takeofflabsa.logo-light{ background-position: -5px -550px; width: 250px; height: 51px; }
+a.logo-takeofflabs{ background-position: -260px -586px; width: 250px; height: 51px; }
+a.logo-telenav{ background-position: -5px -606px; width: 250px; height: 67px; }
+a.logo-usr{ background-position: -407px -891px; width: 105px; height: 52px; }
+a.logo-yardia.logo-light{ background-position: -260px -642px; width: 250px; height: 61px; }
+a.logo-yardi{ background-position: -5px -678px; width: 234px; height: 57px; }
diff --git a/css/mindcoding.css b/css/mindcoding.css
new file mode 100644 (file)
index 0000000..6965804
--- /dev/null
@@ -0,0 +1,11 @@
+footer {
+       padding: 1.5em 0;
+       width: auto;
+       matgin: auto;
+       white-space: inherit;
+       color: inherit;
+}
+
+#sponsors a.logo {
+       margin-bottom: 1em;
+}
diff --git a/js/90-ga.js b/js/90-ga.js
new file mode 100644 (file)
index 0000000..4c829f1
--- /dev/null
@@ -0,0 +1,11 @@
+var dnt = navigator.doNotTrack == "yes" || navigator.doNotTrack == "1" || navigator.msDoNotTrack == "1";
+
+if(!dnt) {
+       (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+       (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+       m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+       })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+       ga('create', 'UA-47497115-1', 'mindcoding.ro');
+       ga('send', 'pageview');
+}
diff --git a/js/90-move-sponsors.js b/js/90-move-sponsors.js
new file mode 100644 (file)
index 0000000..e9bcbfa
--- /dev/null
@@ -0,0 +1,7 @@
+(function(){
+       'use strict';
+
+       $( document ).ready(function(){
+               $('#sponsors').detach().appendTo($('#sidebar'));
+       });
+})();
index fc91ff1dfb364245c5d315378f5dfff57e07c3c8..7f96eeb320c2aa6f22f3a1d8d1c9810d79e29489 100644 (file)
@@ -9,6 +9,7 @@
                'us': /^\/us\//,
                'account': /^\/account$/,
                'contribute': /^\/contribute$/,
+               'about': /^\/about$/,
        };
 
        $( document ).ready(function(){
index 5ec968a4552821ba55119ec759b007f5057d0826..9bc36047b545d8d781111259ca4e25bff45be3e2 100644 (file)
@@ -3,6 +3,12 @@
        function set_style(name){
                $('#stylesheet').attr("href", "/css/" + name + ".css");
                localStorage.setItem("theme", name);
+               $(document).ready(function() {
+                       if(name == 'slate' || name == 'cyborg')
+                               $('.logo').removeClass('logo-light');
+                       else
+                               $('.logo').addClass('logo-light');
+               });
        }
 
        $( document ).ready(function() {
diff --git a/js/90-webchat-link.js b/js/90-webchat-link.js
new file mode 100644 (file)
index 0000000..77d8fb4
--- /dev/null
@@ -0,0 +1,7 @@
+(function(){
+       'use strict';
+
+       $( document ).ready(function() {
+               $('#webchat').prependTo('#sidebar');
+       });
+})();
index 62bef3283d6b6672af1051bd4748ef295f1162a9..185017b82b38cf1abe9445621ec75367887f3507 100644 (file)
@@ -160,7 +160,8 @@ sub dispatch_request{
 
                sub (/ed/:contest) {
                        forbid contest->is_running;
-                       response ed => 'Editorial of ' . contest->name, db->problem_list(contest => $_{contest}, solution => 1);
+                       my $pblist = db->problem_list(contest => $_{contest}, solution => 1);
+                       response ed => 'Editorial of ' . contest->name, {%$pblist, editorial => contest->editorial};
                },
 
                sub (/login) {
index 947f039238b0fb20ba4a638ae25dbad03609ddd0..319a5e509d70d71b881829a4addeb27fd010bae2 100644 (file)
@@ -71,6 +71,7 @@ sub _render {
 
 sub process_skel {
        my ($tree, %args) = @_;
+       $tree->fid('logo')->replace_with(literal scalar read_file "mclogo.svg");
        $tree->content_handler(
                title   =>         $args{title},
                content => literal $args{meat});
@@ -114,6 +115,7 @@ sub process_us {
 sub process_ct_entry {
        my ($tree, %args) = @_;
        $_->edit_href (sub {s/contest_id/$args{id}/}) for $tree->find('a');
+       $tree->fid('editorial')->detach unless $args{finished};
        $tree->fid('links')->detach unless $args{started};
        my $status = ($args{time} < $args{start} ? 'starts' : 'ends');
        $tree->fclass('timer')->attr('data-stop', $status eq 'ends' ? $args{stop} : $args{start});
@@ -278,6 +280,7 @@ sub process_st {
 
 sub process_ed {
        my ($tree, %args) = @_;
+       $tree->content_handler(editorial => literal $args{editorial});
        my $iter = sub {
                my ($data, $div) = @_;
                $div->set_child_content(class => 'value', $data->{value});
diff --git a/mclogo.svg b/mclogo.svg
new file mode 100644 (file)
index 0000000..484ee6e
--- /dev/null
@@ -0,0 +1,76 @@
+<svg
+       id="logo"
+       class="logo center-block"
+       xmlns="http://www.w3.org/2000/svg"
+       version="1.1"
+       viewBox="0 0 6.2645049 1.5841428">
+
+  <g id="mind" stroke-width="0.03" fill="#BED32F">
+       <path d="m 1.8827833,0.7143348 0,0.25404 -0.16937,0 0,-0.42341 0.59277,0 0.08468,0.08468 0,0.33873 -0.16936,0 0,-0.25404 -0.08468,0 0,0.25404 -0.16936,0 0,-0.25404 z" />
+       <path d="m 2.4543233,0.9683748 0,-0.423406 0.169362,0 0,0.423406 -0.169362,0 z m 0,-0.508087 0,-0.169358 0.169362,0 0,0.169358 -0.169362,0 z" />
+       <path d="m 3.0258633,0.5449648 0.08468,0.08468 0,0.33873 -0.16937,0 0,-0.25404 -0.08468,0 0,0.25404 -0.16936,0 0,-0.42341 z" />
+       <path d="m 3.4280333,0.7990148 0,-0.084681 -0.084681,0 0,0.084681 0.084681,0 z m -0.169362,0.169362 -0.084681,-0.084681 0,-0.254043 0.084681,-0.084681 0.169362,0 0,-0.254039 0.169362,0 0,0.677445 -0.338724,0 z" />
+  </g>
+
+  <g id="coding">
+       <path d="m 3.6608533,0.8836948 0,-0.25405 0.08468,-0.08468 0.33872,0 0,0.16937 -0.25404,0 0,0.08468 0.25404,0 0,0.16936 -0.33872,0 z" />
+       <path d="m 4.4017533,0.7990148 0,-0.084681 -0.084681,0 0,0.084681 0.084681,0 z m -0.169362,0.169362 -0.084681,-0.084681 0,-0.254043 0.084681,-0.084681 0.254043,0 0.084681,0.084681 0,0.254043 -0.084681,0.084681 -0.254043,0 z" />
+       <path d="m 4.8886133,0.7990148 0,-0.084681 -0.084681,0 0,0.084681 0.084681,0 z m -0.169362,0.169362 -0.084681,-0.084681 0,-0.254043 0.084681,-0.084681 0.169362,0 0,-0.254039 0.169362,0 0,0.677445 -0.338724,0 z" />
+       <path d="m 5.1214233,0.9683748 0,-0.423406 0.169362,0 0,0.423406 -0.169362,0 z m 0,-0.508087 0,-0.169358 0.169362,0 0,0.169358 -0.169362,0 z" />
+       <path d="m 5.6929633,0.5449648 0.08468,0.08468 0,0.33873 -0.16936,0 0,-0.25404 -0.08468,0 0,0.25404 -0.16936,0 0,-0.42341 z" />
+       <path d="m 6.0951433,0.7990148 0,-0.084681 -0.084681,0 0,0.084681 0.084681,0 z m -0.084681,0.508087 0,-0.169362 0.084681,0 0,-0.169362 -0.169362,0 -0.084681,-0.084681 0,-0.254043 0.084681,-0.084681 0.338724,0 0,0.677449 -0.084681,0.084681 -0.169362,0 z" />
+  </g>
+
+  <ellipse
+         fill="none"
+         stroke-width="0.14"
+      cx="0"
+      cy="0"
+      rx="2.56598"
+      ry="2.5500901"
+      transform="matrix(0.29057023,0.07641978,-0.07689577,0.29238094,0.79207052,0.7920714)"/>
+
+<path id="head" d="m 0.35643844,0.5672979 c -0.001601,0.014845 0.0182543,0.068052 0.0203288,0.084096 0,0.00934 -0.007397,0.018679 -0.011869,0.02417 -0.001441,0.00177 -0.002546,0.00256 -0.003975,0.00434 -0.006054,0.00752 -0.0194977,0.021367 -0.026938,0.027585 -0.008754,0.00732 -0.0166172,0.016156 -0.0250255,0.023953 -0.0101644,0.00942 -0.0198602,0.019628 -0.0290634,0.030082 -0.005698,0.00647 -0.0165178,0.018097 -0.0199761,0.025306 l -0.009758,0.026283 0,0.00181 c 8.0967e-4,0.00747 0.009534,0.027283 0.0131295,0.031265 0.004932,0.00546 0.0103963,0.00849 0.017955,0.010693 0.005447,0.00159 0.009017,0.00242 0.0148905,0.00359 0.0235767,0.00472 0.0261609,0.00343 0.027955,0.029341 7.6059e-4,0.01094 -9.8755e-4,0.020476 -9.0168e-4,0.030517 9.182e-5,0.011058 -0.00227,0.015996 -0.007653,0.02192 -0.005232,0.00576 -0.009727,0.01228 -0.003791,0.019054 0.005054,0.00577 0.0126928,0.00739 0.0197418,0.00983 -0.00154,0.0023 -0.002656,0.0027 -0.004245,0.005 -0.004122,0.00597 -0.006109,0.015704 -0.006846,0.022727 0,0.00595 0.003245,0.00978 0.006846,0.01256 0.002435,0.00188 0.003245,0.00264 0.005686,0.00448 0.005974,0.00448 0.0102368,0.00891 0.0134847,0.016085 0.0119052,0.026281 -0.0120892,0.050264 -0.0149292,0.078694 -0.002705,0.027051 0.0169717,0.049512 0.0356824,0.065048 0.00176,0.00146 0.001748,0.00147 0.00368,0.00279 0.0105508,0.00721 0.0201791,0.013471 0.0329056,0.016999 0.006856,0.0019 0.0121978,0.00372 0.0196087,0.00534 0.007597,0.00167 0.0142164,0.00267 0.0217052,0.00417 0.0134147,0.00269 0.0301184,0.00458 0.0436853,0.00622 0.0223376,0.00269 0.0433185,0.00472 0.0639681,0.011811 0.0211716,0.00728 0.0258542,0.02803 0.0273557,0.048421 l -0.007926,0.076171 c -0.002748,0.019414 -0.00265,0.038935 -0.005404,0.058364 -0.003815,0.02696 -0.005428,0.070052 -0.009247,0.097031 -0.002404,0.016979 0.001466,-0.01993 0,0 0.006713,0 0.001208,0.038622 0.007312,0.037595 0.14948496,-0.025139 0.37820514,0.055751 0.50882664,-0.016919 0.00529,-0.00294 0.010609,-0.00635 0.015424,-0.00953 0.01001,-0.0066 0.019491,-0.013388 0.02886,-0.021043 0.01532,-0.012512 0.038576,-0.036001 0.045535,-0.05427 l 0,0 c 6.993e-4,-0.00525 -0.062628,-0.059776 -0.1077649,-0.2334028 -0.027124,-0.1043331 0.00692,-0.1414239 0.016197,-0.1787171 0.00334,-0.013441 0.00782,-0.026815 0.013147,-0.039529 0.0027,-0.00645 0.00543,-0.012157 0.00854,-0.018264 0.00571,-0.011258 0.012219,-0.022956 0.019177,-0.033497 0.099458,-0.09953 0.3306605,-0.3306629 0.1393831,-0.6012767 -0.00601,-0.00738 -0.015281,-0.017685 -0.022514,-0.023693 -0.00435,-0.00361 -0.00774,-0.00822 -0.012282,-0.011746 -0.00287,-0.00223 -0.00338,-0.00292 -0.00586,-0.00523 -7.545e-4,-6.992e-4 -6.257e-4,-5.65e-4 -0.00148,-0.00129 C 1.1882767,0.273608 1.1606136,0.2538128 1.1348637,0.2407631 l -0.031191,-0.015941 c -0.012698,-0.00708 -0.027489,-0.012009 -0.040925,-0.017296 -0.052331,-0.020589 -0.1291488,-0.037009 -0.18696404,-0.036675 -0.007146,4.11e-5 -0.0126977,-7.912e-4 -0.0203288,-9.385e-4 l -0.006552,0 c -0.0153806,1.908e-4 -0.0354819,0.00152 -0.0500847,0.00342 -0.0659965,0.00859 -0.0869823,0.014938 -0.14124782,0.03434 -0.022683,0.00811 -0.0578489,0.02674 -0.0786145,0.039674 -0.004846,0.00302 -0.009077,0.00607 -0.0138545,0.00925 -0.0116255,0.00775 -0.0229995,0.015574 -0.0337963,0.024422 l -0.0191137,0.016006 c -0.0106447,0.00895 -0.0205435,0.018873 -0.0302975,0.028844 l -0.0171073,0.018013 c -0.0117604,0.012347 -0.021831,0.026919 -0.031942,0.039218 -0.0295584,0.035953 -0.0721813,0.1449809 -0.0764124,0.1841915 z" />
+
+  <g id="circuits" fill="none" stroke="#BED32F" stroke-width="0.008">
+    <path d="M 0.99554253,0.94475514 0.93021347,0.93242685" style="stroke-width:0.00851979" />
+    <path d="M 1.0130315,0.90943651 0.98548435,1.0099826 0.96408961,1.0284599" />
+    <path d="m 1.0364615,0.916104 -0.01677,0.0617495 0.032135,0.0543765 -0.00985,0.036464" />
+    <path d="M 1.0138398,0.55971512 0.9999221,0.63427202 0.9455394,0.79246398" />
+    <path d="m 1.1338035,0.86520717 -0.069611,0.0211845 -0.016396,-0.004005 -0.0948416,-0.0231798" />
+    <path d="m 1.0073379,0.30057841 0.086512,0.0222475 -0.00742,0.0395511 0.07168,0.009888 0.032135,0.0692021 -0.019776,0.0766302" />
+    <path d="m 1.2541971,0.70491363 -0.0417,-0.008843" />
+    <path d="m 1.2586247,0.48430203 -0.021415,0.0881715 -0.064264,-0.009888 -0.024713,0.1285348 -0.07544,0.13104355 -0.033264,-0.0128934 0.00488,-0.162639 0.028001,-0.1300928 -0.067546,-0.0429369 -0.0575968,0.20960588" />
+    <path d="m 0.97769925,0.25173138 -0.021033,0.0822152 0.0889836,0.0197755 -0.012354,0.0469669 0.1089679,0.0225112 -0.041042,0.21996595" />
+    <path d="m 0.66005169,0.60336972 0.0469669,-0.0247133 0.0420169,0.0395449 -0.0308266,0.10579675" />
+    <path d="m 0.84049112,0.55516994 -0.0174937,0.0578054 0.0199657,0.0299454 -0.0337365,0.1119363" />
+    <path d="m 0.97643561,0.37844149 -0.0420169,0.0222475 -0.0716802,0.29414258 0.0519046,0.0617924 -0.0206418,0.0675654 m 0.043289,0.0707478 0.13082969,0.027928" />
+    <path d="M 0.81169541,0.46989104 0.87345516,0.2869858 0.71535633,0.42540223 0.78699151,0.57865645 0.7968792,0.5218018" />
+    <path d="m 0.91526274,0.23198358 0.0125621,0.0937007 -0.0567074,0.14153243" />
+    <path d="m 0.82502622,0.22334859 -0.0209947,0.0209947 -0.007416,0.042023 -0.0617924,0.0222475 -0.0148316,0.0444888 -0.0617985,0.0346072 -0.0173036,0.0692082 0.0741521,0.0444888 -0.0123536,0.0395572 0.0469607,0.0148255 0.0469669,0.10628733" />
+    <path d="M 0.6506301,0.31731155 0.6057794,0.34646575 0.5788702,0.44961869 0.6125082,0.48549559 0.583354,0.58417079" />
+    <path d="m 0.48243997,0.51464973 0.0157026,-0.0426057 0.029148,0.002239 -0.0246642,0.11436561" />
+    <path d="m 0.48223191,0.43562055 0.0921545,-0.0723358 -0.0201804,0.0919403 0.0235417,0.0448507 -0.014574,0.0392444" />
+    <path d="m 0.99124346,1.0529012 0.008679,-0.023143 0.0247194,0.00742 -0.00735,0.027816" />
+
+    <g id="circles" fill="#BED32F" stroke-width="0.008">
+      <path d="m 0.58335405,0.56959062 c 0.008783,0 0.0158996,0.006528 0.0158996,0.014574 0,0.008051 -0.007116,0.014574 -0.0158996,0.014574 -0.008783,0 -0.015902,-0.006523 -0.015902,-0.014574 0,-0.008046 0.007119,-0.014574 0.015902,-0.014574 z" />
+      <path d="m 0.56317368,0.52473992 c 0.008778,0 0.0158971,0.006528 0.0158971,0.014574 0,0.008051 -0.007119,0.0145789 -0.0158971,0.0145789 -0.008783,0 -0.015902,-0.006528 -0.015902,-0.0145789 0,-0.008046 0.007119,-0.014574 0.015902,-0.014574 z" />
+      <path d="m 0.6506301,0.30273753 c 0.008783,0 0.015902,0.006525 0.015902,0.014574 0,0.008051 -0.007119,0.0145765 -0.015902,0.0145765 -0.008781,0 -0.0158995,-0.006525 -0.0158995,-0.0145765 0,-0.008049 0.007119,-0.014574 0.0158995,-0.014574 z" />
+      <path d="m 0.81329977,0.45532315 c 0.008781,0 0.015902,0.006523 0.015902,0.014574 0,0.008046 -0.007121,0.014574 -0.015902,0.014574 -0.008783,0 -0.0158995,-0.006528 -0.0158995,-0.014574 0,-0.008051 0.007116,-0.014574 0.0158995,-0.014574 z" />
+      <path d="m 0.79847426,0.50722778 c 0.008783,0 0.015902,0.006528 0.015902,0.014574 0,0.008049 -0.007119,0.014574 -0.015902,0.014574 -0.008783,0 -0.0158995,-0.006525 -0.0158995,-0.014574 0,-0.008046 0.007116,-0.014574 0.0158995,-0.014574 z" />
+      <path d="m 0.7966157,0.64749663 c 0.008783,0 0.015902,0.006528 0.015902,0.0145765 0,0.008049 -0.007119,0.0145765 -0.015902,0.0145765 -0.008781,0 -0.015902,-0.006528 -0.015902,-0.0145765 0,-0.008049 0.007121,-0.0145765 0.015902,-0.0145765 z" />
+      <path d="m 0.84049112,0.54059592 c 0.008778,0 0.0158995,0.006525 0.0158995,0.014574 0,0.008051 -0.007121,0.0145765 -0.0158995,0.0145765 -0.008783,0 -0.015902,-0.006525 -0.015902,-0.0145765 0,-0.008049 0.007119,-0.014574 0.015902,-0.014574 z" />
+      <path d="m 0.66189185,0.58842153 c 0.008783,0 0.015902,0.006528 0.015902,0.014574 0,0.008049 -0.007119,0.014574 -0.015902,0.014574 -0.008778,0 -0.0158971,-0.006525 -0.0158971,-0.014574 0,-0.008046 0.007119,-0.014574 0.0158971,-0.014574 z" />
+      <path d="m 0.8727245,0.44863725 c 0.008778,0 0.0158971,0.006528 0.0158971,0.0145789 0,0.008046 -0.007119,0.014574 -0.0158971,0.014574 -0.008783,0 -0.015902,-0.006528 -0.015902,-0.014574 0,-0.008051 0.007119,-0.0145789 0.015902,-0.0145789 z" />
+      <path d="m 0.97626387,0.36261616 c 0.008778,0 0.015902,0.006525 0.015902,0.014574 0,0.008051 -0.007124,0.0145765 -0.015902,0.0145765 -0.008783,0 -0.015902,-0.006525 -0.015902,-0.0145765 0,-0.008049 0.007119,-0.014574 0.015902,-0.014574 z" />
+      <path d="m 1.1012226,0.62858598 c 0.00878,0 0.015902,0.006525 0.015902,0.014574 0,0.008049 -0.00712,0.0145765 -0.015902,0.0145765 -0.00878,0 -0.015902,-0.006528 -0.015902,-0.0145765 0,-0.008049 0.00712,-0.014574 0.015902,-0.014574 z" />
+      <path d="m 1.0145759,0.28786908 c 0.00878,0 0.015902,0.006525 0.015902,0.014574 0,0.008051 -0.00712,0.0145765 -0.015902,0.0145765 -0.00878,0 -0.015902,-0.006525 -0.015902,-0.0145765 0,-0.008049 0.007124,-0.014574 0.015902,-0.014574 z" />
+      <path d="m 1.1704738,0.50352293 c 0.00878,0 0.015902,0.006523 0.015902,0.014574 0,0.008049 -0.00712,0.014574 -0.015902,0.014574 -0.00878,0 -0.0159,-0.006525 -0.0159,-0.014574 0,-0.008051 0.00712,-0.014574 0.0159,-0.014574 z" />
+      <path d="m 0.94554555,0.77788999 c 0.008781,0 0.0158996,0.006525 0.0158996,0.014574 0,0.008046 -0.007119,0.014574 -0.0158996,0.014574 -0.008783,0 -0.0158995,-0.006528 -0.0158995,-0.014574 0,-0.008049 0.007116,-0.014574 0.0158995,-0.014574 z" />
+      <path d="m 1.2124968,0.68149042 c 0.00878,0 0.015899,0.006528 0.015899,0.014574 0,0.008051 -0.00712,0.014574 -0.015899,0.014574 -0.00878,0 -0.015902,-0.006523 -0.015902,-0.014574 0,-0.008046 0.00712,-0.014574 0.015902,-0.014574 z" />
+      <path d="m 0.95295524,0.8446324 c 0.008781,0 0.0158971,0.006523 0.0158971,0.014574 0,0.008049 -0.007116,0.014574 -0.0158971,0.014574 -0.008783,0 -0.015902,-0.006525 -0.015902,-0.014574 0,-0.008051 0.007119,-0.014574 0.015902,-0.014574 z" />
+      <path d="m 0.94236208,0.67915956 c 0.008781,0 0.0158995,0.006525 0.0158995,0.014574 0,0.008046 -0.007119,0.014574 -0.0158995,0.014574 -0.008783,0 -0.0158995,-0.006528 -0.0158995,-0.014574 0,-0.008049 0.007116,-0.014574 0.0158995,-0.014574 z" />
+    </g>
+  </g>
+</svg>
diff --git a/static/guide/1.png b/static/guide/1.png
new file mode 100644 (file)
index 0000000..b794601
Binary files /dev/null and b/static/guide/1.png differ
diff --git a/static/guide/2.png b/static/guide/2.png
new file mode 100644 (file)
index 0000000..cf09867
Binary files /dev/null and b/static/guide/2.png differ
diff --git a/static/guide/3.2.png b/static/guide/3.2.png
new file mode 100644 (file)
index 0000000..c55eab8
Binary files /dev/null and b/static/guide/3.2.png differ
diff --git a/static/guide/3.png b/static/guide/3.png
new file mode 100644 (file)
index 0000000..34cdab1
Binary files /dev/null and b/static/guide/3.png differ
diff --git a/static/guide/4.2.png b/static/guide/4.2.png
new file mode 100644 (file)
index 0000000..90d31a6
Binary files /dev/null and b/static/guide/4.2.png differ
diff --git a/static/guide/4.png b/static/guide/4.png
new file mode 100644 (file)
index 0000000..dd89593
Binary files /dev/null and b/static/guide/4.png differ
diff --git a/static/guide/5.png b/static/guide/5.png
new file mode 100644 (file)
index 0000000..c2f1d4d
Binary files /dev/null and b/static/guide/5.png differ
diff --git a/static/logos.png b/static/logos.png
new file mode 100644 (file)
index 0000000..d00e02d
Binary files /dev/null and b/static/logos.png differ
index c18fba22885f54443b2cbc1df6fd78284165fc6b..13d2e9eb6e877c37c750992db96d3cb1c9c470b6 100644 (file)
@@ -10,7 +10,7 @@ Contest <span id="status">starts/ends</span> in: <span class="timer" data-stop="
 
 <div id="links">
 <a href="/pb/?contest=contest_id">Problems</a><br>
-<a href="/ed/contest_id">Editorial</a><br>
+<a href="/ed/contest_id" id="editorial">Editorial</a><br>
 <a href="/log/?contest=contest_id">Job log</a><br>
 <a href="/st/contest_id">Standings</a>
 </div>
index 12d47a7be68f803400702b40c4a4506b2644a7e6..7102cd9886f470570a46b35102d7117d3e7c6d82 100644 (file)
@@ -1,7 +1,5 @@
-<div>
+<div id="editorial"></div>
 <div class="well">
 <h2><span class="value">250</span> - <a class="problem" href="/pb/id">Name</a></h2>
-<div class="solution">
-</div>
-</div>
+<div class="solution"></div>
 </div>
\ No newline at end of file
index 15188417ed432bc0b5842e2ff47951b591a79e42..a0b1444a4c4fe08bce03f431107e43e882855968 100644 (file)
@@ -31,16 +31,16 @@ To submit solutions to this problem, please visit the problem <a href="/pb/id">o
 <div class="form-group"><label for="prog">File:</label><input id="prog" name="prog" type="file"></div>
 <div class="form-group"><label for="source_code">Source code:</label> <textarea class="form-control" id="source_code" name="source_code"></textarea></div>
 <div class="form-group"><label for="prog_format">File format:</label><select id="prog_format" name="prog_format" class="form-control" required>
-<option value="C">C (gcc)</option>
-<option value="CPP" selected>C++ (g++)</option>
-<option value="GCCGO">Go (gccgo)</option>
-<option value="GOLANG">Go (gc)</option>
-<option value="HASKELL">Haskell (ghc)</option>
-<option value="JAVA">Java (javac)</option>
-<option value="PASCAL">Pascal (fpc)</option>
-<option value="PERL">Perl (perl)</option>
-<option value="PYTHON">Python (python)</option>
-<option value="SBCL">Common Lisp (sbcl)</option>
+<option value="C">C (gcc 4.7.2)</option>
+<option value="CPP" selected>C++ (g++ 4.7.2)</option>
+<option value="GCCGO">Go (gccgo 4.7.2)</option>
+<option value="GOLANG">Go (gc 1.0.2)</option>
+<option value="HASKELL">Haskell (ghc 7.4.1)</option>
+<option value="JAVA">Java (openjdk 7u75)</option>
+<option value="PASCAL">Pascal (fpc 2.6.0)</option>
+<option value="PERL">Perl (perl 5.14.2)</option>
+<option value="PYTHON">Python (python 2.7.3)</option>
+<option value="SBCL">Common Lisp (sbcl 1.0.57)</option>
 </select></div>
 
 <input type="submit" value="Submit job" class="btn btn-primary">
index 956e8954525dbf871267f2c462db87765f82e451..a39837e790990390515c4ebbf60e7a67a2e1f967 100644 (file)
@@ -3,19 +3,20 @@
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
-<link rel="stylesheet" href="/css/cyborg.css" id="stylesheet">
+<link rel="stylesheet" href="/css/slate.css" id="stylesheet">
 <script src="/js.js" type="text/javascript"></script>
 
 <body>
 <nav role="navigation">
 <div class="container-fluid">
 <ul class="nav nav-pills nav-justified">
-<li id="nav-home"><a href="/">Gruntmaster 6000</a>
+<li id="nav-home"><a href="/">Home</a>
 <li id="nav-pb"><a href="/pb/">Problems</a>
 <li id="nav-ct"><a href="/ct/">Contests</a>
 <li id="nav-log"><a href="/log/">Job log</a>
 <li id="nav-us"><a href="/us/">Users</a>
 <li id="nav-account"><a href="/account">Account</a>
+<li id="nav-about"><a href="/about">About / Help</a>
 <li id="nav-contribute"><a href="/contribute">Contribute!</a>
 <li id="theme-selector" class="reqjs"><a class="dropdown-toggle" data-toggle="dropdown"> Theme <span class="caret"></span></a>
 <ul class="dropdown-menu" role="menu">
@@ -30,6 +31,7 @@
 </nav>
 
 <div class="container-fluid">
+<div id="logo"></div>
 
 <h1 id="title">TITLE</h1>
 <div id="result"></div>
@@ -37,6 +39,7 @@
 <div id="content">Content goes here</div>
 
 <div id="login" class="reqjs"><a href="/login">Log in</a></div>
+<div id="webchat"><a href="http://webchat.oftc.net/?channels=%23mindcoding" target="_blank">Webchat</a></div>
 
 <div id="tracker" class="reqjs">
 <h3>Track user</h3>
@@ -60,8 +63,34 @@ Tracking <a href="#" id="tracker_userlink"></a>.<br>
 </div>
 </div>
 
+<div id="sponsors">
+<h3>Official sponsors</h3>
+<a class="logo logo-emag" href="http://www.fundatiaemag.ro/"></a>
+<a class="logo logo-easyhost" href="http://ro.easyhost.com/"></a>
+<a class="logo logo-takeofflabs" href="http://www.takeofflabs.com/"></a>
+<a class="logo logo-bigstep" href="http://www.bigstep.com/"></a>
+<a class="logo logo-yardi" href="https://www.facebook.com/YardiRomania"></a>
+<a class="logo logo-bosch" href="http://www.bosch.com.ro/"></a>
+<a class="logo logo-endava" href="http://www.endava.com/"></a>
+</div>
+
 <footer>
-Dilmom: Why don't you call your product the Gruntmaster 6000?<br>
-Dilbert: What kind of product do you see when you imagine a Gruntmaster 6000?<br>
-Dilmom: Well, it's a stripped-down version of the Gruntmaster 9000, of course. But it's software-upgradeable.
+<div class="row">
+<div class="col-md-6 column text-center">
+<a class="logo logo-hermes" href="http://www.societatea-hermes.ro"></a>
+</div>
+
+<div class="col-md-6 column text-center">
+<a class="logo logo-facebook" href="http://www.facebook.com/mindcodingcluj"></a>
+</div>
+</div>
+
+<h3>Partners</h3>
+<a href="https://www.facebook.com/spyhce?fref=ts" class="logo logo-spyhce"></a>
+<a href="https://www.facebook.com/telenav?fref=ts" class="logo logo-telenav"></a>
+<h3>Media Partners</h3>
+<a href="http://cs.ubbcluj.ro" class="logo logo-csf"></a>
+<a href="http://www.uniunea.ro" class="logo logo-usr"></a>
+<a href="http://www.coscj.ro" class="logo logo-cos"></a>
+<a href="http://www.cluj2015.ro/romana" class="logo logo-eyc"></a>
 </footer>
This page took 0.076963 seconds and 4 git commands to generate.