# Programming Contest: Trading (interim results and announcements)

Many thanks to all participants of the programming contest ! The decision making is not finished yet, but at midnight on July 17, we took the set of solutions that was at that time, and held a mini-tournament between them. He got 82 solutions.

But first - a few ads.

## The contest is extended for a week.

The deadline for making decisions is extended until July 27, 2018 , 23:59:59 UTC. Also for the week ahead the dates are shifted, in which the results of the competition will be announced. We extended the competition in order to improve the coverage in the holiday season.

After the end of work acceptance testing will be more thorough than the current preliminary.

### Seed values

We publish a method that we promise to use to select seed values ​​for final testing. This method should be unambiguous and easily verifiable, but unpredictable. So, we will take the first tweet from this Twitter , which will appear there after the deadline. It's hard to believe that we agreed with Jerry Springer, right? From the tweet we take only the text, without pictures and video. If there is no text in the tweet, but only a picture, then we take the next tweet. Retweets are considered. The account name is not taken.

From the tweet text we get the bare values ​​like this:

``````const random_js = require('random-js');
const text = 'The tweet goes here';
const bytes = Array.from(new Buffer(text));
const random = new random_js(random_js.engines.mt19937().seedWithArray(bytes));
for (let i = 0; i<200; i++) // сгенерируем столько, сколько потребуетсяconsole.log(random.uint32());
``````

Elements of the resulting sequence with odd numbers, with numbering starting from 1 (that is, first, third, fifth, and so on) will be used as seed values ​​for the first round, and with even numbers as additional seed values ​​for the final.

In the first round, each ordered pair of solutions will be launched at each of at least 100 seed values ​​(more if we succeed). At least 100 additional seed values ​​will be used in the final. Sessions held in the first round between the decisions that reached the final will be used in the final (but not the sessions between the finalist and the decision that did not reach the final). Thus, the outcome of the final will decide at least 200 seed values.

### Selection of finalists

After the first round, all decisions will be ordered by the amount of points scored. A number of decisions, starting with the leader of the list, will be allowed to the final.

The following rules will apply for the selection of finalists. The number of finalists will solve some of the rules, which will be the most stringent (ie, missed the final smallest ) number of solutions.

• No more than half of the solutions.
• No more than 50 solutions.
• Only solutions that showed better results than `example.js`.

## Interim results

For intermediate testing, we used natural numbers from 1 to 50 inclusive as seed values. Each ordered pair, consisting of different solutions, was launched on each of these values. Thus, for 82 participants the tournament consisted of 332100 sessions; Each of the decisions took part in 8100 sessions.

So far, instead of the names of the participants - solutions IDs. Your ID is in the automatic email you received after sending the decision. It is not forbidden in the comments to this post to disclose that such and such a decision is yours.

Please note that copies of the example.js script are located at 59, 60 and 61 locations.. Interestingly, 21 of the 82 solutions showed a lower result than our primitive example. (Why did three copies of the same script show slightly different results? Because some solutions are used `Math.random`, and the results of sessions with their participation are not reproducible.) The

table of intermediate results can be seen on GitHub . Legend:

• S : The amount of points gained (this is the subject of competition)
• S / N : Average Session Result
• A : The number of sessions with the agreement
• A / N : Percentage of sessions with the agreement
• S / A : Average result of a session with an agreement
• X : Number of sessions interrupted by this participant (due to exceptions or incorrect results)

Of course, before the end of the competition there is still time for which the alignment of forces may change. Dare!