Итоги олимпиады на самый худший код и награждение победителей: ни один компилятор во время проведения не (не) пострадал

Напомним условия конкурса:

«Побеждает тот, кто реализует заданную программу самым оригинальным, запутанным, сложным и невообразимо идиотским способом. Задание: напишите программу, выводящую время, большее текущего на 23 часа».

Выбрать лучших из лучших было очень тяжело: все ваши программы были идиотскими, от них хотелось домой к маме и плакать. Даже если вы не попали в топ победителей, не расстраивайтесь: вы причинили нам достаточные страдания от созерцания вашего кода.


Победитель #1: Айрат Камалетдинов, C++

winner-1

«Что я сделал перед тем, как написать программу?

/* тут подставьте ту мелодию, когда Джонни Айв рассказывает про новый продукт Apple — youtu.be/IOqZXD6cLvg */

Я переосмыслил фразу “время через 23 часа”. Программа выводит надпись “время” вертикально (что само по себе уже что-то невероятное!), а также ровно через центр горизонтальной надписи “через 23 часа” (чувствуете силу слова “через”?).

А ещё я обожаю классы, классы — моя страсть. Думаю, получилось достаточно по-индусски».

ab2e2043c1cff170 Приз: 1 фирменная футболка Tproger, 5 фирменных наклеек.

#include <iostream>
using namespace std;

class Locale
{
private:
    const int zero = 0;
    const char russian[8] = {'R', 'u', 's', 's', 'i', 'a', 'n'};

public:
    void setLocaleRussian() const
    {
        setlocale(zero, russian);
    }
};

class Time
{
private:
    char time[8][16];

public:
    void setTime()
    {
        time[0][0] = '\0';
        time[0][1] = '\0';
        time[0][2] = '\0';
        time[0][3] = '\0';
        time[0][4] = '\0';
        time[0][5] = '\0';
        time[0][6] = '\0';
        time[0][7] = '\0';
        time[0][8] = '\0';
        time[0][9] = '\0';
        time[0][10] = '\0';
        time[0][11] = '\0';
        time[0][12] = '\0';
        time[0][13] = '\0';
        time[0][14] = '\0';
        time[0][15] = '\0';

        time[1][0] = '\0';
        time[1][1] = '\0';
        time[1][2] = '\0';
        time[1][3] = '\0';
        time[1][4] = '\0';
        time[1][5] = '\0';
        time[1][6] = '\0';
        time[1][7] = '\0';
        time[1][8] = '\0';
        time[1][9] = '\0';
        time[1][10] = '\0';
        time[1][11] = '\0';
        time[1][12] = '\0';
        time[1][13] = '\0';
        time[1][14] = '\0';
        time[1][15] = '\0';

        time[2][0] = '\0';
        time[2][1] = '\0';
        time[2][2] = '\0';
        time[2][3] = '\0';
        time[2][4] = '\0';
        time[2][5] = '\0';
        time[2][6] = '\0';
        time[2][7] = 'в';
        time[2][8] = '\0';
        time[2][9] = '\0';
        time[2][10] = '\0';
        time[2][11] = '\0';
        time[2][12] = '\0';
        time[2][13] = '\0';
        time[2][14] = '\0';
        time[2][15] = '\0';

        time[3][0] = '\0';
        time[3][1] = '\0';
        time[3][2] = '\0';
        time[3][3] = '\0';
        time[3][4] = '\0';
        time[3][5] = '\0';
        time[3][6] = '\0';
        time[3][7] = 'р';
        time[3][8] = '\0';
        time[3][9] = '\0';
        time[3][10] = '\0';
        time[3][11] = '\0';
        time[3][12] = '\0';
        time[3][13] = '\0';
        time[3][14] = '\0';
        time[3][15] = '\0';

        time[4][0] = 'ч';
        time[4][1] = 'е';
        time[4][2] = 'р';
        time[4][3] = 'е';
        time[4][4] = 'з';
        time[4][5] = '\0';
        time[4][6] = '2';
        time[4][7] = 'е';
        time[4][8] = '3';
        time[4][9] = '\0';
        time[4][10] = 'ч';
        time[4][11] = 'а';
        time[4][12] = 'с';
        time[4][13] = 'а';
        time[4][14] = '\0';
        time[4][15] = '\0';

        time[5][0] = '\0';
        time[5][1] = '\0';
        time[5][2] = '\0';
        time[5][3] = '\0';
        time[5][4] = '\0';
        time[5][5] = '\0';
        time[5][6] = '\0';
        time[5][7] = 'м';
        time[5][8] = '\0';
        time[5][9] = '\0';
        time[5][10] = '\0';
        time[5][11] = '\0';
        time[5][12] = '\0';
        time[5][13] = '\0';
        time[5][14] = '\0';
        time[5][15] = '\0';
        
        time[6][0] = '\0';
        time[6][1] = '\0';
        time[6][2] = '\0';
        time[6][3] = '\0';
        time[6][4] = '\0';
        time[6][5] = '\0';
        time[6][6] = '\0';
        time[6][7] = 'я';
        time[6][8] = '\0';
        time[6][9] = '\0';
        time[6][10] = '\0';
        time[6][11] = '\0';
        time[6][12] = '\0';
        time[6][13] = '\0';
        time[6][14] = '\0';
        time[6][15] = '\0';

        time[7][0] = '\0';
        time[7][1] = '\0';
        time[7][2] = '\0';
        time[7][3] = '\0';
        time[7][4] = '\0';
        time[7][5] = '\0';
        time[7][6] = '\0';
        time[7][7] = '\0';
        time[7][8] = '\0';
        time[7][9] = '\0';
        time[7][10] = '\0';
        time[7][11] = '\0';
        time[7][12] = '\0';
        time[7][13] = '\0';
        time[7][14] = '\0';
        time[7][15] = '\0';
    }

    void getTime() const
    {
        cout << time[0][0];
        cout << time[0][1];
        cout << time[0][2];
        cout << time[0][3];
        cout << time[0][4];
        cout << time[0][5];
        cout << time[0][6];
        cout << time[0][7];
        cout << time[0][8];
        cout << time[0][9];
        cout << time[0][10];
        cout << time[0][11];
        cout << time[0][12];
        cout << time[0][13];
        cout << time[0][14];
        cout << time[0][15];

        cout << endl;

        cout << time[1][0];
        cout << time[1][1];
        cout << time[1][2];
        cout << time[1][3];
        cout << time[1][4];
        cout << time[1][5];
        cout << time[1][6];
        cout << time[1][7];
        cout << time[1][8];
        cout << time[1][9];
        cout << time[1][10];
        cout << time[1][11];
        cout << time[1][12];
        cout << time[1][13];
        cout << time[1][14];
        cout << time[1][15];

        cout << endl;

        cout << time[2][0];
        cout << time[2][1];
        cout << time[2][2];
        cout << time[2][3];
        cout << time[2][4];
        cout << time[2][5];
        cout << time[2][6];
        cout << time[2][7];
        cout << time[2][8];
        cout << time[2][9];
        cout << time[2][10];
        cout << time[2][11];
        cout << time[2][12];
        cout << time[2][13];
        cout << time[2][14];
        cout << time[2][15];

        cout << endl;

        cout << time[3][0];
        cout << time[3][1];
        cout << time[3][2];
        cout << time[3][3];
        cout << time[3][4];
        cout << time[3][5];
        cout << time[3][6];
        cout << time[3][7];
        cout << time[3][8];
        cout << time[3][9];
        cout << time[3][10];
        cout << time[3][11];
        cout << time[3][12];
        cout << time[3][13];
        cout << time[3][14];
        cout << time[3][15];

        cout << endl;

        cout << time[4][0];
        cout << time[4][1];
        cout << time[4][2];
        cout << time[4][3];
        cout << time[4][4];
        cout << time[4][5];
        cout << time[4][6];
        cout << time[4][7];
        cout << time[4][8];
        cout << time[4][9];
        cout << time[4][10];
        cout << time[4][11];
        cout << time[4][12];
        cout << time[4][13];
        cout << time[4][14];
        cout << time[4][15];

        cout << endl;

        cout << time[5][0];
        cout << time[5][1];
        cout << time[5][2];
        cout << time[5][3];
        cout << time[5][4];
        cout << time[5][5];
        cout << time[5][6];
        cout << time[5][7];
        cout << time[5][8];
        cout << time[5][9];
        cout << time[5][10];
        cout << time[5][11];
        cout << time[5][12];
        cout << time[5][13];
        cout << time[5][14];
        cout << time[5][15];

        cout << endl;

        cout << time[6][0];
        cout << time[6][1];
        cout << time[6][2];
        cout << time[6][3];
        cout << time[6][4];
        cout << time[6][5];
        cout << time[6][6];
        cout << time[6][7];
        cout << time[6][8];
        cout << time[6][9];
        cout << time[6][10];
        cout << time[6][11];
        cout << time[6][12];
        cout << time[6][13];
        cout << time[6][14];
        cout << time[6][15];

        cout << endl;

        cout << time[7][0];
        cout << time[7][1];
        cout << time[7][2];
        cout << time[7][3];
        cout << time[7][4];
        cout << time[7][5];
        cout << time[7][6];
        cout << time[7][7];
        cout << time[7][8];
        cout << time[7][9];
        cout << time[7][10];
        cout << time[7][11];
        cout << time[7][12];
        cout << time[7][13];
        cout << time[7][14];
        cout << time[7][15];
    }

    void endLine() const
    {
        cout << endl;
    }
};

class Pause
{
private:
    const char variable[6] = "pause";

public:
    void systemPause() const
    {
        if(variable == "pause")
        {
            system(variable);
        }
        else
        {
            const char anotherVariable[6] = "pause";
            system(anotherVariable);
        }
    }
};

class Return
{
private:
    const int zero = (int) ((((((((((((15346.0/23.0) + 254.7826) - 2.12)*12.4)/5.18) + 1010.0)/1001) + 1.79118) - 4.3445)/6.0) + 3.45) - 3.55925)*0;  //то же самое, что (0)*0  🙂

public:
    int returnZero()
    {
        switch(zero)
        {
        case 0:
            return zero;
        default:
            return (zero - 1 + zero + 1);
        }
    }
};

int main()
{
    Locale IC_locale;
    Time IC_time;
    Pause IC_pause;
    Return IC_return;

    IC_locale.setLocaleRussian();

    IC_time.setTime();
    IC_time.getTime();
    IC_time.endLine();
    IC_time.endLine();

    IC_pause.systemPause();
    IC_return.returnZero();
}

Победитель #2: Константин Захарченко, Java

winner-2
«Данная программа специально оптимизирована, чтобы максимально задействовать вычислительные способности компьютера. Алгоритм является рекурсивным. При проходе мы выбираем случайное число, далее проверяем, затем в случае первого прохода, проверяем чтобы оно было больше нуля, а также проверяем не достигли ли мы конечного результата.

После, используя наше случайное число, запускаем в отдельных потоках сам код расчета времени. Проверяем значение результата последнего времени, и если оно слишком большое, мы прибавляем к нему значение, рассчитанное по тривиальной формуле. Иногда в этой формуле, правда, происходит деление на ноль, из-за несовершенства языка программирования и IDE, но это никак не влияет на работу алгоритма, так что можно эту ситуацию просто игнорировать. Алгоритм выдает значения с точностью ±2. Для лучших показателей мы, их уточняем специальным отдельным алгоритмом.

После всего происходит рекурсивный вызов (какой же алгоритм без рекурсивных вызовов?)».

ab2e2043c1cff170 Приз: 1 футболка, 4 наклейки Tproger.

package LoginServer;

import java.util.*;

/**
 * Created by kostya on 14.08.2016.
 */
public class Fun {
    private static final long TWENTY_THREE_HOURS_IN_MILLIS = 82800000;
    private static long timeResult = 1001;
    private static long startTime;
    private static int threadsCount = 1;


    public static void main(String[] args) {

        startTime = System.currentTimeMillis();
        System.out.println(startTime);
        //System.out.println("control " + (startTime + TWENTY_THREE_HOURS_IN_MILLIS));

        getNextTime();

    }

    public static synchronized void getNextTime() {
        threadsCount--;
        int random = (int) (Math.random() * 5);


        if (threadsCount <= 0 && random == 0) {
            random = 1;

        }
        if (timeResult == startTime + TWENTY_THREE_HOURS_IN_MILLIS) {

            System.out.println("Result = " + timeResult);
            System.exit(0);
        }

        for (int i = 0; i < random; i++) {

            final Thread thread = new Thread(new Runnable() {
                public void run() {
                    threadsCount++;
                    if (timeResult < startTime + TWENTY_THREE_HOURS_IN_MILLIS) {
                        try {
                            timeResult += (long) ((Math.random() + 1) * ((long) (5 + (10 % 500) * 42145424 + 11 - System.currentTimeMillis() % 250 * 16 / 12 + Math.random() * (startTime % 1000000) + 44342 / 3 * 45 + TWENTY_THREE_HOURS_IN_MILLIS * 5034 % 20 * 128 + 807) % (startTime + TWENTY_THREE_HOURS_IN_MILLIS - timeResult + 1)));
                        } catch (ArithmeticException e) {

                        }

                        if (Math.abs(timeResult - (startTime + TWENTY_THREE_HOURS_IN_MILLIS)) < 3) {
                            timeResult = makeResultAccurate(timeResult, startTime + TWENTY_THREE_HOURS_IN_MILLIS);
                        }


                        getNextTime();
                    } else if (timeResult > startTime + TWENTY_THREE_HOURS_IN_MILLIS) {
                        try {
                            timeResult -= (long) ((Math.random() + 1) * ((long) (5 + (10 % 500) * 42145424 + 11 - System.currentTimeMillis() % 250 * 16 / 12 + Math.random() * (startTime % 1000000) + 44342 / 3 * 45 + TWENTY_THREE_HOURS_IN_MILLIS * 5034 % 20 * 128 + 807) % (startTime + TWENTY_THREE_HOURS_IN_MILLIS - timeResult + 1)));
                        } catch (ArithmeticException e) {

                        }

                        if (Math.abs(timeResult - (startTime + TWENTY_THREE_HOURS_IN_MILLIS)) < 3) {
                            timeResult = makeResultAccurate(timeResult, startTime + TWENTY_THREE_HOURS_IN_MILLIS);
                        }

                        getNextTime();
                    }

                }
            });
            thread.start();
        }
    }
public static long makeResultAccurate(long resultNow, long requiredResult){
    return requiredResult;
}

}

Победитель #3: Сергей Панферов, Brainfuck

winner-3

«Алгоритм разработан специально для крупных коммерческих фирм, банков, заводов, марсиан и умного дома.

Если кратко: процесс написания программы заставил меня забыть о том, как я писал программу. Этот вывод чисел… когда у тебя нет операторов if-else, а есть только [ ] (while). Это печально. Мои мозги еле-еле смогли отладить эту программу. Не зря BF так называется».

ab2e2043c1cff170 Приз: 1 футболка, 3 наклейки Tproger.

>>++++++++++[>+++++++++>+++++++>++++++>++++++++>+++>+++++++>++++++++>+++>+++++++>++++++++>++++++++>++++++++>+++>++++++++>++++++++>+++++++++>++++++>+++>+++++++++>+++++>+++++>++++>+++++>+++++>+++++++++[<]>-]>--->++>+++++>++++>++>+++>+++>++>++>->+++++>++>++>-->->--->+++>++>+>-->->+++++>>++>+++[<]>[.>]>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>,------------------------------------------------>,------------------------------------------------><[>>>>+<<<<-]<[>>>>>++++++++++<<<<<-]>>>>>->+<[-[-[-[-[-[-[-[-[-[-[-[-[-[-[-[-[-[-[-[-[-[-[-[->[++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++..---.+++.[-]>[-]]<<]>[+++++++++++++++++++++++++++++++++++++++++++++++++.+.[-]>[-]]<<]>[+++++++++++++++++++++++++++++++++++++++++++++++++..[-]>[-]]<<]>[+++++++++++++++++++++++++++++++++++++++++++++++++.-.[-]>[-]]<<]>[+++++++++++++++++++++++++++++++++++++++++++++++++.--.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++.++++++++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++.+++++++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++.++++++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++.+++++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++.++++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++.+++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++.++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++.+.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++..[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++.-.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]>[-]]<<]>[+++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]>[-]]<<]>[+++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++++++.[-]>[-]]<<]>[+++++++++++++++++++++++++++++++++++++++++++++++++++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++++.[-]>[-]]<<]>[+++++++++++++++++++++++++++++++++++++++++++++++++.[-]>[-]]<<]>[++++++++++++++++++++++++++++++++++++++++++++++++.[-]>[-]]<<]>[+++++++++++++++++++++++++++++++++++++++++++++++++.++.>[-]]<<

Бонус: такой же приз получает Елена, которая прислала свой вариант программы на WhiteSpace — языке, в котором используются только пробелы, переводы строки и табуляция.

Это программа, написанная на
WhiteSpace. Я думаю, что
уже	за
это	можно	дать	человеку	маечку.	Пусть даже вне конкурса.	А
вообще	алгоритм очень прост.	Вводится время, отнимается единица,	проверяется	выход за границы, выводится
результат.	В описании	алгоритма	будет	дан
компилятор этого	языка. Так же будет
дан код программы, где
пробел	будет
отмечен	как	П,	табуляция	-	Т, перевод на новую	строку	-	Н .	А принцип
“	Написанное
однажды - лучше	не
читать” соблюден.	Конец
этой
программы

Победитель #4: Ярослав Лакаев, С

winner-4

«Алгоритм: “О божечки оно работает!”»

ab2e2043c1cff170 Приз: 3 наклейки.

#include <stdio.h>
#include <sys/time.h>
#define p printf
#define r putchar
#define n "\n\e[1;1H\e[2J"
#define l long
#define f for
#define v void
#define j int
#define k char
#define N P(i);
#define u usleep
#define you p(n);u(T);}}}o(g,3e5,1);o(w,1e5,3);o(q,4e5,1);o(a,4e4,4);
#define know "\x49\x74\x20\x69\x73\x20\x67\x6f\x6e\x6e\x61\x20\x62\x65\x20\x6c\x65\x67\x65\x6e\x2e\x2e\x2e";
#define this f(;;){S=time(0);l h=S/60/60%24;
#define scare {f(j x=0;(E[x])!='\0';x++){f(j y=0;y<=x;y++){r(E[y]);}
#define code l m=S/60%60;l s=S%60;P(i-3);h>9?p("%s%li:",d,h):p("%s0%li:",d,h);
#define is m>9?p("%li:",m):p("0%li:",m);s>9?p("%li%s\n",s,d):p("0%li%s\n",s,d);
#define Best N p(" ( (ヽ\n");N p(" | |、\\n");N p(" | 丿 \ ⌒)\n");N p(" | |  ) /\n");
#define I j main(){k*g=
#define kidding N p("   レ ノ   ヽ_つ\n");N p("  / /\n");N p("  / /|\n");
#define but l i=0;l S;v P(l c){f(l i=c;i>=0;i--){p(" ");}}l b=0;l t=15e4;
#define may k*a="\x4c\x45\x47\x45\x4e\x44\x41\x52\x59\x21";k*d="";j c;v o(k*E,l T,j z){f(;z>0;z--)
#define safe if(t==99){p(n);t=15e4;d=!(S%11)?" || ":!(S%7)?" ## ":!(S%3)?" $$ ":!(S%13)?" !! ":
#define regards N p(" ノ )  Lノ\n");N p("(_/\n");u(t);t=(t=t-(t/1e2));
#define Just p("   \( ͡° ͜ʖ ͡°)\n");N p("    >  ⌒ヽ\n");N p("   /   へ\\n"); N p("   /  / \\\n");
#define it k*w="\x77\x61\x69\x74\x20\x66\x6f\x72\x20\x69\x74\x2e\x2e\x2e";k*q="\x64\x61\x72\x79\x21";
#define likely " ~~ ";continue;}N p("⊂_ヽ\n");N p("  \\\n"); N
#define pl7ofit p(n);b=(i>50||(i>0&&b==1))?1:0;i=b==1?i-1:i+1;}}

I know it may scare you but this code is safe
likely //...
Just kidding
Best regards
pl7ofit

Победитель #5: Сергей Охрименко, C++

winner-5

«Программа написана в лучших олимпиадных традициях. Для начала вычисляются все простые до 100000, решетом Эратосфена за линейное время, потом находим количество секунд от начала дня, инициализируем рандом и после этого строится дерево отрезков, с обновлением чисел на отрезке, входные данные которого случайные простые числа с предыдущего решета. После всех этих операций начинается цикл по всем поддеревам дерева отрезков и считается сумма на отрезках, находится минимум между суммой и значением “время”+23. Найдя отрезок, разница суммы которого и “время”+23 минимальна, мы переходим к бинарному поиску, для подгонки ответа до точного решения и в конце мы обратно считаем от количества секунд значение “время”+23».

ab2e2043c1cff170 Приз: 2 наклейки.

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

long long get_second(int h, int m, int s){
    return h*3600+m*60+s;
}

void write_time(int sec){
    cout << setw(2) << setfill('0') << sec / 3600 << ":";
    cout << setw(2) << setfill('0') << sec/60%60 << ":";
    cout << setw(2) << setfill('0') << sec%60 << endl;
}

const int N = 100000;
vector v(7*1e5);
vector p(7*1e5, -1000000);

void push(int i, int tl, int tr){
    if(p[i]!=-1000000){
        v[i] = p[i] * (tr-tl+1);
        if(tl!=tr)
            p[i*2] = p[i];
            p[i*2+1] = p[i];
        p[i] = -1000000;
    }
}

long long  get(int i, int tl, int tr, int l, int r){
    push(i, tl, tr);
    if(tl>r || tr<l) return 0; if(tl>=l && tr<=r) return v[i]; int d = (tl+tr)>>1;
    return get(i*2, tl, d, l, r) + get(i*2+1, d+1, tr, l, r);
}

void update(int i, int tl, int tr, int l, int r, int x){
    push(i, tl, tr);
    if(tl>r || tr<l) return; if(tl>=l && tr<=r){ p[i] = x; push(i, tl, tr); return; } int d = (tl+tr)>>1;
    update(i*2, tl, d, l, r, x);
    update(i*2+1, d+1, tr, l, r, x);
    v[i] = v[i*2] + v[i*2+1];
}

int main() {
    int lp[N+1];
    vector pr;

    for (int i=2; i<=N; ++i) {
        if (lp[i] == 0) {
            lp[i] = i;
            pr.push_back (i);
        }
        for (int j=0; j<(int)pr.size() && pr[j]<=lp[i] && i*pr[j]<=N; ++j) lp[i * pr[j]] = pr[j]; } time_t t = time(0); srand(time(NULL)); struct tm * now = localtime( & t ); int sec = get_second(now->tm_hour?now->tm_hour:24, now->tm_min, now->tm_sec);

    long long k = 1,l,r,x;
    int n = 2000;
    while (k<N) k+=k;
    for (int i = 1; i < n; i++)
        update(1, 1, k, i, i+1, pr[rand()%200]);

    int mn = 1e7;
    int mni,mnj;
    for (int i = 1; i < n; i++) {
        for (int j = i+1; j < n; j++) { int temp = get(1, 1, k, i, j); if(temp > sec) break;

            int trs = abs(2*11*4493 + sec - ((3*107)*(3*107)-137*2) - temp + 3*107);
            if (trs < mn){
                mn = trs;
                mni = i;
                mnj = j;
            }
        }
    }
    int d = get(1,1,k,mni,mnj);
    while(2*11*4493 + sec - ((3*107)*(3*107)-137*2) - d + 3*107){
        if (2*11*4493 + sec - ((3*107)*(3*107)-137*2) - d + 3*107 < 0)
            d--;
        else
            d++;
    }

    write_time(d);
}

Со всеми победителями в ближайшее время свяжется администрация Tproger для уточнения адреса доставки призов.

Спасибо за участие!