Monday, August 9, 2010

The preparation commences

8:30 start today. For some bizarre reason far beyond my own understanding, Evgeny decided it would be nice to set the alarm to 6:30 which, for someone like me, is absolutely insane. As far as my questionable memory tells me, I woke up when I heard the alarm, I heard Evgeny wake up, wander around and go outside to breakfast and come back. By then I think around an hour had passed and I realised I should have been up for a while to get to breakfast at 7:30 to give enough time to make the trip to the CSE labs. After stumbling down to the breakfast place (whose name escapes my memory), I took close look at the menu. We've been supplied with breakfast vouchers to pay for our breakfast (quite a surprise to me at the time) and we could spend up to $25 on anything they offered.

Now (as far as I know) for most breakfasts, anything over $7 would pay for a pretty substantial meal. We had twenty-five dollars to spend. I thought that this was going to be enough to pay for at least breakfast and lunch, if not for a cheap dinner...until I took a closer look at the menu. Shrugging it off, I tried to to make a selection of breakfast items that would make the best use of the $25 limit we had. After some highly questionable mental arithmetic, I made my order. After some more quick mental arithmetic, I realised I had spent precisely $25.50. I daresay my reaction to my oversight was trumped by everyone elses' amazement at how I managed to spend over $25 for breakfast.

By this time, it was around 8am, giving us about 15 minutes to eat and 15 minutes to walk down to the CSE labs. This would have turned out all good and well, except it had taken a little over 20 minutes for the food to come out, leaving us 5 minutes to eat and a little under no time to get down to the labs for the exam which we had ready and waiting. So taking note that I had over $25 worth of breakfast sitting before me and that I'm a relatively slow eater, this was a terrible situation to be in. To be honest, the next 8 or so minutes after that are a little blurry, mainly because I was too busy shovelling food into my mouth as fast as my dry throat would allow. Luckily, Evgeny had ordered the exact same meal as me (with the exception of the muffin that sent me over the money limit), so he was also struggling to consume breakfast. We both finished at roughly the same time, but I had to run up to my room to get by bag. Unfortunately, running up to my room took a little longer than the team (and Jarrah) had patience, so by the time I had come back down the stairs, everyone had left.

This was where the fun and games begins. All I have to lead me from our lodgings to the CSE labs is a vague memory of a walk in the other direction the night before. I was wise enough to not really consider the possibility of having to walk to the labs without guidance, so I hadn't committed the path to memory. Luckily, I knew the general bearing of the university, so all I had to do was walk in that general direction. By this time it was just past 8:35, 5 minutes after the trial exam was to begin, so I ran. This being said, running is only as useful as the correctness of the path which you take, and I took perhaps the most suboptimal path possible. So suboptimal that I had completely lost my bearing on the uni. Perhaps the only reason I still ended up getting to the campus was the towering main library of UNSW. I just walked towards the building and soon enough, I was in UNSW. Having finally regained my orientation, I ran the rest of the way to the lab.

By the time I got into the lab, only Bernard was anywhere to be found. He kindly directed me to sit in before one of the lab computers with an exam at the desk, but obviously not to look at it until everyone else had arrived. Seconds after I had settled down, 3 frantic team members and a deputy team leader came casually strolling in through the door. Each of them had a very similar reaction once they had realised I somehow, having last been seen disappearing back up to my room, ended in the labs, prepared and set up, before they had arrived. I had nothing to say other that 'twas magic.

Within the next 10 minutes, after setting up our exam environment on our lab machines, the exam begun. A quick skim later, I had mentally sorted each of the 4 problems that we had in our 5 hour exam into ascending order of difficulty. Dynamic programming, sliding window, russian dolls and a bizarre combinatorics. The first were easy enough and I had completed them in by the second hour into the exam, as well as confirmed my solutions as complete and correct with our newfound ability to view the results of a small set of our chosen submissions. I had left myself with 3 hours to solve the final problem.

3 hours is a lot of time, but oh how it flies in an informatics exam. With only 1 hour left until the end of the exam, I had progressed up to the point to having a solution that would taken a few lifetimes of the universe to complete computing (well, to be more accurate, a few million lifetimes [perhaps billions]). Unable to improve upon my effectively incomplete solution, I submit (in both interpretations). Soon enough, the exam was over and I ended up with a score of 350, tying with Luke. The sadness of being unable to progress past 50 marks over the 3 hours wasn't helped by my starvation at the time. Fortunately, lunch was scheduled directly after the exam.

After a break and a quick laksa at a campus restaurant (which only cost $8, as opposed to the $25.50 of breakfast), we went back to the CSE building to talk through our exam. Apparently, everyone else was terribly confused by the final task. Apparently during another informatics competition, only one submission received full marks. We talked in depth about the task, exploring the algorithmic aspects required by it, trying to develop an understanding of how to put together our own solutions. After a couple more hours of indepth discussion, we finally came to an algorithm that would both solve the talks correctly and in a short amount of time. A few problem discussions later, we headed back down to a lab to start putting our newfound understandings to use.

Both Luke and I immediately dived back into that unsolved task that we had from the exam earlier in the day. In informatics, knowing how to solve a problem is only half of it. The other half comes in being able to write a program that implements our algorithm and to write it correctly and without any errors. Some tasks put more focus on the problem solving aspect, sometimes requiring tiny amounts of code to implement. Then there are tasks that are reasonably easy to solve, but a nightmare to implement (a la Rods from IOI 2002). Our task fell somewhere in the middle of this spectrum in that it wasn't much harder to implement that it was to solve, but taking note that this was the same problem to which no solution was found in 3 hours, implementation was going to be a challenge.

In the end, Luke was able to implement his solution to the task, getting 100% on the training site (which isn't quite as rewarding as doing so in an exam), while I was still utterly confused at why my code produced ridiculous output. Over the course of the next half hour or so, I had managed to fix what I thought was all the errors in my code, so I submit my solution to the training site. 60%, partially incorrect and partially too slow. Shattered, I quickly sift through my code for any obvious errors, noticing that one of my variables was overflowing out of it's range of allowed values. Making a quick fix, I resubmit to the training site. 90%, one case timing out. This meant that my code was inefficient somewhere, pushing its running time just over the time limit (by 0.085 seconds, as noted by Jarrah). Soon enough, the rest of the team was crouched around my desk, watching me try to further optimise my code so that it would be fast enough. Trying arbitrary changes and making minor tweaks, I couldn't get my submission to run in time. By then, I had finally realised that everyone crouching around my desk was a sign that everyone was waiting for me. By this time, it was somewhere between 7:30pm and 8pm. Dinner time!

Leaving my code behind, we walk back up to our rooms to drop off anything we didn't want to bring to dinner and start wandering around the vicinity looking for somewhere to dine. We come across a Spanish restaurant, and after a quick assessment of our options, we decide that the possibility of finding nothing else worthwhile outweighed the sacrifice of simply having dinner where we already were. Long story short, I felt as though the dinner was a slight rip off. That being said it was definitely nice food, although measuring the cost of dishes with a unit of pizzas may have taken things slightly out of perspective.

Alas, dinner is over and we go back to our rooms to bring a close to the day. It was around 9pm at this time, giving us several hours to spend before the demand of sleep finally kicks in. So we all end up sitting around in one of our rooms talking about the meaning of life, the universe and everything.

By around 11:30, Luke and Robert realise it would probably be in their best interests to retire to their rooms. Sitting in our room, the conversation dies off quickly, replaced by the mentally undemanding TV. After 45 minutes or so, Evgeny realises it's in his best interest to go to sleep and does so. For some strange reason, I felt a sudden urge to write up a blog post.

And that leave me here, typing this and reflecting upon the events of the past 24 hours. Right now, it's almost 2 (1:57) and we have another practice exam in the morning. If my mental arithmetic serves me well (which breakfast has shown otherwise), I have to be awake in a little over 5 hours. Perhaps it would be unwise of me to add this final paragraph, knowing Jarrah and Bernard will ultimately see it and show great disapproval of this sleep deprivation, but it seems like an amusing ending to an otherwise somewhat verbose blog post.

Hopefully I can survive on 5 hours of sleep, only time will tell.

-ken

1 comment:

  1. You write amazing blog posts. Most of it amused me and informed. I like.

    ReplyDelete