CSES - Datatähti 2024 alku - Results
Submission details
Task:Säähavainnot
Sender:EmuBird
Submission time:2023-11-10 12:55:29 +0200
Language:Java
Status:READY
Result:29
Feedback
groupverdictscore
#1ACCEPTED28.88
Test results
testverdicttimescore
#1ACCEPTED0.75 s4details
#2ACCEPTED0.76 s4.38details
#3ACCEPTED0.76 s3.75details
#4ACCEPTED0.76 s4.38details
#5ACCEPTED0.76 s3.13details
#6ACCEPTED0.75 s3.38details
#7ACCEPTED0.75 s2.63details
#8ACCEPTED0.76 s3.25details

Code

import java.io.*;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.zip.GZIPInputStream;
import java.util.Arrays;

public class WeatherBundled {
    public static void main(String[] args) {
        WeatherRecord[] sampleRecords = readSampleData();

        Scanner input = new Scanner(System.in);
        int n = Integer.parseInt(input.nextLine());

        for (; n > 0; n--) {
            Float[] measurementObjects = WeatherRecord.readMeasurementsFromString(input.nextLine());
            boolean containsInvalid = false;
            float[] measurements = new float[measurementObjects.length];
            for (int i = 0; i < measurementObjects.length; i++) {
                Float measurement = measurementObjects[i];
                if (measurement == null) {
                    containsInvalid = true;
                    break;
                }
                measurements[i] = measurement;
            }

            if (containsInvalid) {
                // I don't even want to guess if it's outside the training data.
                System.out.println(" ?".repeat(12).substring(1));
            } else {
                WeatherRecord record = new WeatherRecord(measurements);

                Float[] forecast = generateForecast(sampleRecords, record);

                System.out.println(Arrays.stream(forecast).map((value) -> value == null ? "?" : String.valueOf(value.floatValue())).collect(Collectors.joining(" ")));
            }
        }
    }

    private static WeatherRecord[] readSampleData() {
        String in = "";

        in += "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";

        in += "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";

        in += "+mu7lN2PoJWFXtxwpU5PhYRPsFxJ0z4wNsNUwLh3KJtK6oQaKfPUusemeV6vwjEgQqQQRXD6gwkY4EryS7t6zBvZIaIqanon6C/WfEqWTTnePdonCWVAdyiQt+6xmw59YnxF0d+8c7PYc4m+IkVV/n+ocQjqU0l3zJsDCnB4TODXkBvMR5zgvpRPorvtysIfPJUN5/ussvMfDX7BLvoHutHbALmhKQE1RTvBHV1ZGd6aegL0opIbtWadPmYU86siu4By68/5q2O4/IEJXarv+875bQbu9E91xywbQkHo4/1UXQLzDJDjXfh3dQYrhIDoWwzYsQ7vg+qsa1cU2/Xf9BDiTEUO84cmSIHF+/cO9aum/H/wISEuSpefiOdMUqvH4TIu2dHuVjeNXy1wLDYSB0QbrsEddTbc/Nh8/57Fyvpl0MQm8Ase6PEO3P/EA7MR8JYONcsEh334OVa1CdNuaGFTJCBJbcyzXQZ+/CRqiL9FtnxxH3fcXS20QHf95ykek+1VL6VarJ6TxrtK5+OmGxppMI6yAM3mP0K36p3AmJPIuzgHOmee/L1B/y0+UFQegPh0rCGNHYt8huc6G083mUrqlF5z2kFAMLWpZGvHXY+3Osyhd5UE9z4OnWLy/p15EnFzMq6R0dnfYIBokgHhwjOqIBnMJV1FC6ehDcN5V/DXFBpu3BRt58lTIo7T9GmCuC5IS1AWioz4uAbuiLd2ypwx+tXSjQEa/J0cQVy8QoX+cbkFTqvOebddcMMQ2zQIy8km2RRXd8vxncELyt+8ZmokI9XXNHmDRTfoY0FF+iWcgI/rPf5eCXrqKbjoTBF0B29Jd9DKq4qLeVaE/+efQJqhCZ8u5vuL5KzELIVsu0I1/F0AV6mtE9teW/PWuLXBMvo9ufOkW/A2NCDg2umvUkRkQr3iFbuy9CuKCii1gWvgNQYVlEG/2AN2QvhpOCYJjeSR3SlfUfDweOl5FN7w5CpaFkhnNi5uYZ3ULx7kvMppuePZp7Bci+GvYLsqjCL8Sru1XdH1yLKRVntianraIpfl9cSL4LV0//wfYJsi+TBEsk4WpCA6VPk7XP3Q94ornZeKv/fg7oDdhTh5J1zk3wS5Myar/8IXz1y6/hwslVXTd42/DSU4SVY3ouTrQAZaRYLcRdG3sFPwjca6GHlBzDGSmNdCYdz39q24S7LW1UxeT6awHdkRF/jfbXEb/emMZZBVLRg8LhiXwDva72G08/atoAxGLU5LqYkcKDciu2+CYdJD+eSACe/wKNy0i1WVy8DrJG/gg/VM9QfJklzeNjOHoVjKNbrS2cDT9I5OGQ048FzWLA54eBQO2Ym736Jq1Fp7RswEV259Jf508UdGNrikcBgniPwSU/Efh2DjroCryDl3dahQcANffTwKCFCT+OCv6fkJXvZkAJ6AoHEk3ZtMZ3fV5UvqQrhrYFfZiagX/VQfw/7uOlHdO0N/HfwB7ebxXlAAOTFfB8WQLH6IrvxZgn8/aTbDyj19BlDZVdOWoOVDraByfU8DzfJe4FarDt9MV8zQ4LUTCoizmqbK/zjOdVPR+ga6Y/Dfk2qm2TcDCeC8RYHAu8Ddd0X4WhnKZyL4Y+RsRYCqcbnGULq/qCxs0XQqQqKw0PafYCGcDR+jyqdPhbCiAQurnOxG/8g3YnfD4FzqBIZrY8BZmDEW2YTOcDrSky+/6Evb5GAnwGoC/RW0FiVQso8sHW7AjJGTS0QQ6td5RF3XtTLN8+tuaN+AMT/5vHdgnaPRvx0Oj6W9ffo1+RnD0ZDPFytdc5q8DlK2lyzbeBHWCKCr/f11LQJwHO35Plz1xFewrzwT1TGlECvB43R1wWv6VLhuzCH/zE5+LR/uP53+CWLNZdFnvnRDja84LViae0CwrBs9AVc/hdFn3vnAI+xyn3E+JHOB8CW0X0WWla4EiRpysLglabSqD83tM/pEuXTMI9sjEtjz/QZdgC6hrYu+f6dIbpqO9R4LAOXck/x2AjVifp+jSTjguXvABJTXt4UNdKLqqDV3a0SCFsoR0W1+bNpJJDaaQR+7bQ3/dkCEP5AWtQ1vr67L2RS0Dk+FsiyL66/w/sG6AgQkxgtbCxFyf6HGGLmmsgoSB8BElCbsolUO+PR26ny4ZFYf9RiqFpOFwXEhVEc9uy3K6+MKvsE7SBc100NI0K+0FE0jzq56gi7fFwVURm46ePh3LYSjcCOmit+jib/Nhm8PL/hY9f/+Jgd1zUp5JFz/XDI74q+2u//zdX+9fAU4rji5+9lFIYspE+2O5Os4DHn9GlejioV+jrrl+YBABTydgOgy3/5wuOjIGjvjWEJnVNmxNQ39bl5+ii65bi7pA/N1mFq/7sP6SyN3fpAsnlBJJDWk5IvjeQnDgcdL7gT/pAmsZ6dUUKA1o2ggCuxEP3eiC02/Cbh9pfNNrB6KAvFdX3IYuGLEcdjbtvkULF1TQ/+zE48fSXzZZsNf1B4qxz0FDgDymN+9Ff5m8EP7SxUJJMcMSZ8YFvK+G8GH6S98esB2BiTxv6TGNM+F9InY6Rn8e9SDiATtI4RBUQtTG4w9LpfRnBf8tSE5joeJZ2Vhah2/RD7j0p55RSHiOwaXiwZp8PiegPwwMmEp/Kt1NBJFzIGmbTtZKp+AfuBTV6I/J1+CigOWPETPJK2DBTCJ1+Yr+4E0iEqdbHhp0SQihAq8nheVn8fN+/nMl361KiBTMwB8QpefT9If+DxF/V66KlkMU0SpgP9bn1dHv9z4PxzifbH2B8R9ojiOVw2+i30+fRiqJ6HHOkSOZGi2TgbWELxlLv+/YHXa4OcNwAm4DBrMA9kVRrz50/swFoKsa2Jna+LlcAse/Fk4F8+n8NybBccymBPFpIXUXwhLSrNMYOv/mK8BG++y4/h4H5CCcl9rgTXTe7lI44IFpmWnXdmpyDvrARMm9dF5oJOzUG61EJms0+u+XwHqoUpN0buUd6PeUgMQFEIOCGYKP4Uj5S3TOsnHow5uMr/8Hb28L1EYG0DlXPg6XcBptTorbWlnCgVlwsfwQ/Y56WGc9l+E4RxPkIhnz3YnOr9Hvui6D4770Nj2R9oljG+Tyo/S7wCzElYMVILpqG3iBFyHZbzad/fctkATRf+7mP31AwC8nhZU2nX3nG3BWJlw2nbOB899yWQ2XCm6ms4f2h1N+WjAMA8ePF1oCVluJzkoPg5SBTENcR2jaT7IHspEaOmt3JRwgTfPlGxEc0yrCt5lIZ03SkDSNOi0TCvBEtgj2xXHhIp019hvUQ397lCQF5ACeagsJl8+gs3p6cFJSBfCc7MVUGiPwI6TZVQvot9ecI81cNDm6nk17VtrG4ys6n6bfXvYE7EM9dQCQayPhIPrM5lfl02+72IT331txHdMTTSuIfF5fuo9+8+tNUC+IhsBLHMYbvIFZAO2X02/ujsDvVkjV9UC8Mi8PNDzrKWE3/ea2WdgvHBoURVFCKuavHZDNv45+0+EcXFAUJ6jZ8WrTdeKog4W93qIzX59NCnnRMU1Ngqb9YHvgolJGZxY8Asd4yX8fBOvhLyovIeEOO+hMZTsJB5yMntIdF1klC9vRTz9Nv15TCKd4Hv0Ydi/Wn8Mcly3eR78eNRP+0GvtbAr5yuPFKHxGug4YQb+u6E4CIclytNOpC0nNceAWwt1xgX4tjvTzD5K2Y7tO1tMwPVSJfemMv16Bg03bKzwQXX+33iLSsV9LOmPRowB5eQ1uVbsTdjomx/C61Xm30hnfFsKFEHFycdcPPDbAUsK1eoLO+LwcTmNHKxEJUefz6HTSceB5Oj28jbT2xKwVT55JZcVgFvUrVyTRaUYJnImqXNgPif7eGlhDSJtWdNruXeifCQoa0jwnKD4fnpCupNN2dYUTtqcgz4sGuigJdhKhRKbTfu2LOOd9mkQsYhzCeTkhz6XTnuiJ30M0AO/FLmatCPxBhDYl9KuDi0HH63lNLeOvy66HmsAP9KsDf8NR/3UMzs+JnCQgHoyOp+lX/+sPhi8VTWj2/e0OqFPq6FciD3X+35DgIkFYNlbvC9L8srfpl+INYMjYdX4TGf57r1sByjrSL040wDFAO2zYttP0LGEzVAcv0M+1J+GcRGTkVMfU/YeQH4BReT+durccDH+7sSRwUtBOZtHN5cIZOnXmGDgoospycoHsh36YBmfbbKJTp4yDMz71p7IxSGKzwgY4F62kU5/bCmexNq7j53TPNREnI4a3oVOLj5ARKoELFw8nErGMosE/hC8vpZ8tfghzBxbeJ1vfGyEO64N76GczD8B20/PSXoCAIoUF2EqiLTfRzz7PYB6ROdcwbcsllonzdUauoZ+N+w32uKiDjme4lv93KyyHiyVt6adLNkCVpzbn+JAZ9hJxDnF4QS6ln86e5ut408Zlfzs2h+NpVnmUfvrpa7BPkHhRIj5bIq52QE1wCP20VVeo8fesua7lE7Tvb6XmMfpxfS8ihYmqiq4WEP33SvYiL/1LPz5aCCfBbeKlptc+UBeigz6gHxctIkHiqRImSoXjDQnHaZV1pR+9/DnUiDlRchttzRZSErpvM/wh/ei/Gpzx0SAgEdtcnor8Fmnh0SmrW4MhEcdONsLOqriVxXk/E7qRTnlvLJwRiGf6e5UIL6rwC5HaldIP3x4DTkFIycm6h+EOG+kJSF7Xm36YPwRiwPsb0XCkNtQBI2KLXnRyqiXsCaqiIiJ32P4Gg10QjzTQyQ2jMR/5vhxNrz/DWIfiis70/bM/wUaPs5RIXtBfvXfhMJHyz9D3p02HI2gr0Mq7vIGeA3m4SuLoe9WY4//PDP/fH5gLTodx9L2JpXBYLAEkVt9Uo4atRX3ZTd/7nwi5Gi6XyaUk2TKdKOwiBS3fp+/1PQG7MOt7+Jllm0bW5xnhZjpp8ZtwXMbm8mRkaBwsfEuifUvopO+DJGrrNi/yaP9lBVMInBVfoJMerYSz6Puxw3g3SPQ4/EAKunam7150SIGItsLNNmimRzKI/0Sr1+i7K4fBeUOwcrFE0tZjTbjSgqvpO6fuhbOuv/XBFXRkKx19e/NeC+k7fT3SXMnwho34NPRLDo5fKnmRvtPqWdiPiiH6zz2bNkxsJOF2j9IJ+z3YaPnk6VoYoxHP+8CMHKITDlZAncj/n5A3LbT9F2DYPDrh6fXgWzENpSVo2JwARxBPX9EJ110PZ8Hf9uXvnPL8/Qak7eBRdEL/E6StI6GCxSSLZLM5xLmZfw19y3gWLhCp6Qu271phMSnt9DT13+NbbNZ5dhrJ3+XHlCE/O2W96FsPHQFN0nM1ZtrCgWZk5JlzAY2+Xjgcfbvnb9Z1fIUkMJX0vOIT+tqHI0lPjnfEhH5YbwBIYK7M61ZGX+vRnuRFuJjFNeqmo2FfH4ZaKUFfPZ1Bv+FeSDXGBLHAfz6LKbZ0IX111wTYxhnxcgmCGfFctYe63KbDcPrqPUNBk8GxtThGthQi41/wSvrRV5UfoTrAuSH0to5P3vANKep8kL4SmkKKXP8FFL/l8d/IJ3r4EfpyegLsdFxd18G2xcxFA+sgYJ++vGA8pGXfgOSSMRXbGBaQ8m6L6Pg7F5Ny2X9kla41Yj5J74VkoA0df20ZHDH9jctWDkRezGJO0UvDdHybEXgdrh49YJ6XsjIJ2EQ6delGX0J/fthzHDuezhpp0HjYS6IlQ+iL0BbO4Aj98O4/cPXxrFaW0BfPvwY5FC7bNVDGIx7vp/boMPri9EehVkRSdf1nAjwfhO9Jux6L6fO5e0k7AUO9Z/mbGHGcR8GO5tHn+9bDWf8vH/DTnL//AuZDpmIJfX7QGKjxfHIGP1sS3+9loqX0uRcroB7ANF3b4j3/PfHfiFB+GX1mwu9oNWziiIZn26blIQ7r5RL6TL8Q9gXx3wQSiAY4zj/QP4+hz3QeSnjBtnUnIkIaNRVOQEKdQsdtceGEozfJI4ptjoO/SKB1JR3XLk0k37jbEdlDD+34LqzgdzoWffU+pEgPU5mNFM2hryjtNII+WbjP3wvMIzekEskM5sR/INPsJB2zZB+kTJtD7+Bv38ZGWkAqepfQMSU7SEVI5oiOJOEY2E47SajgWfpE4RSodfzkjuLQiJKO/qFV5Sz62NKFpJWAwxOCMq94yJQboTr6HX1sQWc456/HNq0t+ft/VpJ2nW+gj81bgj4ftVr0ty34rHsCcqFq+tgHcThBMJrKGGfxhgXYQYItPqOPdb0XLkAmxiMR6Irp2P5zh84r6aOzb0edcUXbH37TCspBUlRC6SPJrXCY93Aonv9qKvL0FHL7f8P0kdrPyDCZt/S6C9W6W4DnOUDE0gx95FwRftPzc4fleP4+orXobw/RhxfPJSGZ93RXcND2ugriM9RiDX34rvZEVP2/CApEPeYT0D6oVQP04RuiUMuLts2rrovlzMEGUtBmBn3o6KO+qOv1Gc8KquBJ2BdW3gH60MpWYKnoU13PfxMC6X4j4mcrHd37QTiHH2c0jHaeqalwGnHclo4u6wNVmHJ9wQB/eRvVWyiYRUcNuRp520tdzKjO+bQjGOgTKtoV0Af+WAhWi6hj6DWyn74F9MNa5Br6wPoJyFcK52TNnOMvq6DuB1r8Ske6w0lAVs3TCc0QDb6j6fuQvAfoyKtmQG3Tgo3/0AMbDSaC3Ven95ethGQ85Qn5Ya11AIIOHAcr0pH+90Jf1DeSNtKaoTu27iJOitscovfGjxGFM7VGM2cklUKzLfJbnXwPvfeGevSZ6NAEfyFDNAFTNQZCem+0B+zBdA7ZKAZU/32lHdgXD9L/vHMeEv6DcaQAP1QJsILkl5+iI/a8QfJVMLWLGajNxDUb+7pB6UdHdGJQ578T5nO65WLLLwOj9HZ6l/sGGHhLeEW0+b72H4C48gu969vOcMC2PE8wZdFXAcRD714t6J2zD5KOFmdl69KmgZcXYQ8RihP0zoGXwBBimYSVMFwuWNYL9a5/7xvoHe+PIXIQq2YYlnuBRz+5jChtnqR3vIka1zxjaclkLlWfMW04SaRoR3rHNS3glN+GNueaGONNnBep5Q309iMtcORm0OASSX9LZwL5PB5upMP+/QziTfvP/GdN/j9XQKYFR2+ZkA8Z36Y2rZj6vbcfzOjTdOhF5ENHAP+1AIvXc6bvWyrvoTf/0YfkyXzWyummbboZ2+eZ8sfozetKSABzhFGbdKxwMeb9KjCDHL35kYFwkSBysHud+iA6pkWkVY/m9MbH15I8lzNM18xm8a5sxK0VWkhvyG1CPDuWGeP4S5AfKoIfwe34BB1yuBRczt8Q4P9g26HuuPlv0Gu2fAQ7c5YtOOn6JJ+NBpEnm3X8nA4e/wQp0XgcY8YV5bDjYo4wSk16xco0GP46G/FfjbFNn2f69h9AByY+Ip1ckc82ZMCPFzyOP6ecogMfuQp/cx3Hj4hIQBbyXtfex+mA6ltJV5xYMxczLKSf/0fTdwDGUR3vz/YrOvXerGZJliy59yrt2sYGjMFgMMUQikOHwI+aAKa3hBIgEHoLNQECoYRgwLrDDjbVgAEb3Iu6dG377vvPrPKHQIx83nv73rxvvm/ezDzKfx6qVhOz+gfZkE/1swBjKQrfsmT42cSs55pZMngE/tTHOcX9WFOhJmasK0XEZzZl5yDdsBHFWUoZScyQl9O+QEsTcMc7tonf2zL5jMT0F/dBJTrSLEK54jLDRdUyFLo2MX3hfWyA4qUModt1eAFxr2nadYlpW86AJtnlbEfPDLpR5J9fQ/W4vyWmfbYXYg43ylGJMu8innyOfOa1xNRD3SxLKRpIEcdKFP8FVc03J6bcvRtiSoYXTaDmG2gn7zG7rDMx5awQs9FGmAdg6Jn+DK4Xa6tITFlzCxXh04YIeinh+kJ+wRmJycfmsiO8ZwMa13Aq5cSQb8/uvibR8W45zOIs3za9tJmh+OonEKpen5jo3AlUree7ZOtOhiFu+HlvJSaOlLKfcVk8N+hehN+wkXnVtYn2qu0sTcX1IT6KgjPXIDsMjyTaSvpZLxUP+hmbcw3HYe9CbXMyMUHyoFrkODuLYxKSI0W4GtnoKYnW4x9jWc6lOn2k4i4T2UbUL2WJlisiIHE+ugqRTnspww/12KJES/md7CAf1I4E/3C4f1vaLkg0P/kNtOQrtkU5o0OhJMUb3dx/JpqvVdmXeRIlENFZJvLG9xFXP0o0Fz5HnIUCivwYeP/CRqRZifHGh+wXA1HSIBOiOpctUFHzQKLJyIUK3ncygucKaXw59H6j4r8TTc+XsyFB4LxgjixcTuRpBU8nmi6OMEOwJIlnuYoUiojodUelUxJNM+ezI6BzSNBQn8k2j+vOoZ00vvQG4gYdzI70Wxbp5T3Mz/kl0XhNPjuEfMhAb4SuFk3iW2ge15doeArXV3IiVprPR3TVKe6UjnUlGsKMpXkKEDoC0agUrm9jS0mi/r5uyOezIJneUCpjZHE8kJd/XKL+1CTr44Uwb3se/mP6DHnbrCcT49btR7zywRRw6EHN5CdQ33AkUXuoB/IEz8w4OqINnW/vw3W5OVH75PXsMFhunixSkRDup50wpfGXRO2lF7DDQUmeF8w3fT4lPpGoPfcH/H8FZImXBBmVDdsD9dVPJmqlS9k+idrSoCEKjpRl+1lGfiRR06XjjPNBljx6TdwvP+DnP0tUTzyWHSAP6KMI4lF3IgrGop2JqjMOs2FXpowtQQz0+0YobbwmUXlrBEpH07mo9E1b9w0f59mJnJeovGyUpSTyN7SQHv6xT0GpzE9UxjYiD+RtOvKxHX/QxvGznK5ERW4r248mK4ro2oM4z4sAtRMS5dteY7srkMqHHNLpyK92MhYrTpR/fICxsIyWEoagDRh7Bco6uET5rBOg0MkyoFBkIPNQnUd/SpQ9u5sNMj/jZXWkLVILxz4CvvKeRKkzi5iVT5WhvjWaHEE818N7E6WL6lmGoxwHMajR5fB9IxVaomTyBrbRNFDbgZETEyM5yH8mtp2YKN71JkyMOLo9fCSt246ts70g5JiJ4ne/xXURZIi6uKkFk+JysZZ3EoWPnA7IhN0gtVig9d0M4bJHE4W3roOwQEIKBKToIYf9AqHo7YnCpWUQ4vp9V3AsxUauxh6E1kVqIu8ZHVoZIqrb/9OwlTQN5Ak5jXWJ3EdrIUpNnyiSAbwYQfvkwpclcpd9wtKcNEZyWEZiyAoXt76ayFWuYqYf4izDOpgyk26S9SKevpWI7Y7gr8AxDJOOR9A+P4SZnb2JqFoIpYajE6IyOn5gfcyU6hLR6Wew/kMoh0kSoMxK436HstmJ8InNLIXTQlFChH+HIz0S6U2EFnQx1J/MFSVEbeQLqC/Eum8SoXkrmOHJYqoywgkoRQlPjPDtCeWofMQ3ql4gskac4G1oaLwwIVtLoSHmAFIXScd9Q/bfWhZKyI8MIZcQJUe3Mqbj5sbwbXTp+4SsPsb6eSoAkyQUrmhA34Fc2JUQ31UAIsgPwBwdyaYgxh4GcVxHQnxcx+VIMrt3KJaqiUV4tHNDGUiItycYTk3WQmbnpqzcEvRTE2pPSYi3rUGVH8Srg9mh8eQW1iWEtd3Mpc5gQLneIuqyj6GqsSjuvRCBUCQjO8iukNTheP4NJy74Y9y7qw2mlFvGSLJv1NQNQ8DxG9KsuPf7XayXgyAkCpR8xA7B6RMXxt0Tb2QZzzEiCKCmr4cE4plF2+PulPT/jiRR/JpJXJzDzJKfizvRe5nlC2CZlumi3zaR78WK7onb3bPRPiXX5S2qN/c8XJdIY2XcnB+FSNBHDKhjKL7ZARBjRXH9LzPZATQPn3LBfaoH/xD46l/j2ZueZkkU3WjQvBtkoQyAFG6NZ9efxIZZcCjMj2mnT5hf9lk82/JAwJMphoHuQpIQH7zIBfH03zeyPktW8At1Lz2AZHYbTKo6Nz7YcBQVscgCFxVcnQrD+pghro0PVvezYUlyICi+M9FQvmRG/hPxgapGNoTPdl3cekg/HdwvndMy8b4/XwudrowClRt2Rnkxza6DjmUvx/tWN0MHHYI4tpH2Af3vAIRyZsd7P3yCDVA6DeUjwTAy0c9hbsff4ke+1KFd8rnsgDXqCxG00E8ByufGjzQ+FcRloghMSthybPYk81q2xI+0n80s5DHUKw71a7iYHWEsdEz8SK6K9mkpeloZzAiWiHwJ2mrs+JEcFYrRhRhpAVDYe4gzzAvZ8cM7jsY9hG7TMRGD3Rhjn8H48afHD9+1DkqQA+r4utxIFt32z5CbvyZ+aNvjkOuhTfCBDkXfhnxm/t/iB/s+hNkR0bWyO0YOuy0hBXEjP++r+MF7y0FCf2whWImZqiJAu23u2B0/cPR2KGGSyTvp4ayZzHqsn9nS4viB6U/R+lItO/XSwr8/hs72afH9+Y3QaUlGNuN6vswjYzsDuK5z4/uefxyCje4LTh4hOu6XUO6e+D5+M+K2SEWRgiJTN9h/QWvr5PjOw3uh1TdtYCjBTOrLcQD4yNPxnZddzQ5zEFF8WRGZiKa7FfKqRuI7z/ySbfUp6EdNgxRFQb8GysXxn/0bgdJ+PWL6RGhw/zbW/Rr/if0eigxDlCj0aSCLw3m2lJ/jP6Ke24teAZmtIwoWYtnnUFoF8R/3XgWKrIyis7PspDLgoJUpkVh8x2V3IX9mQWUT7XqO7Ye6ilnxHWc8hvOj0ElxkMWNdsUc6cT4jpZDdD5IUV0qeMCN9jlU1F0W/+GFSxAfsqjfsyl8WcfE54jRP8a/eySLeOihk5JzODftE57w5d/Hv4l9BXTKS1JWpm4quN895dv414e2o+BW8EU937M8tOevobIsEf+qewAqEa4MMySIghH10X5OnXVv/MszD8MMAb4bTqNYsQlvf4TcosH4l2tsyHGN1KgwkLILszjX/cwSj4lvbVvB+nWfOhMitrm4QfpgXPHf41tD57Nh0eEsNjriuqP6KKKyKz0Z//znWSxN+8tlOMkhmUf7bKqqjm854V7gcCtwspATlim/a4QxaXt888avWBL9NTEQ8jyMfQ95RffFP3v9WcRbFEZe1hgysimK80ye/FU8/tVimIyM3mEun/VACSM+ZIRb4vE//hW/l6BZDDKABPTvkyfujG+6/E2oV5IR93CvY+hU9/cLNFZPim+qGYZSWcgk036KqkQEZE9ZeVf809fvorgcGzsldfE1diD+z4x/9MF7wfzLetYPUYs59j3qvqL4f7p6aVYQSdAPuqQwRlCHsPj7jzfjryBo5UDhW0B7zs2/Lv725G0gIvvJD6Nfs6ku6TWA1k/ibyU2Bdk9OAdULRsR0B4KC0fjb935X/RTEgErxcPQX48yg/Pjbz4UZqOUXuTRnJHFvci85r/E36xcRJXgaIQM1R3lq/8KJYWh+D+u6QDkSUigTGa7umUgP6yt/Sz+jxUlUBtmttk/ynkuEbwREJTH46+XH2YZn/QOgauDQ9sBy9tOib/aPAlH4bky2LZn8LgOOwFiu+KvcjdRoaSPEJFVGC+KLA5ax7PxV25rhhJOxn0y+G16WE/paD9SuCv+ylV3MF0wXD/tpfXBkdE08iUovSv+8mcXA8hMEhE7ZF5Cu90ELa0nxV9c8mdoSTkcfmnS8HzeQZ4PsffiL9aFaGKAukRR5TeH+6uuZmn8+asLKU8AtWxWcFBmWfS9kT3x514+nWVomRgEJ3su+w9MnTgUf+KjlVDHZW3LDYInDmO7gYuOxp/403yqvOak/DCjMm4Bcbus+q744899DGWijb7WpSpRX0b+Oa71tPjjV74BtSHHAj452psR3TT68eLCaPyxX7eyQzaFD31G7QNM9irwrRPjjy0tpHI/jo7ZWdB24VWYPPfc+KPXfYV2juthj/T3m/YQjp/58p/ij85voLbeHLllL4hDfs68wgfjj/xUyjJiDBwqVaNnsW9gdst98UcusKFIknylL7U/Nez6WbTDSPS7+EO9t7IjvmjzZD9A+SeboaP+6viff7cAyn0Bv0OICgJuQMS9/Nhf4g/O70fezfviEM9Mwxi08Dmzxn0SfzD/K0r1MA0XXS/kRyS0T0fojN//3UfIA4k+cGM8hX3LGPKWe5//B1LwwIME5IVHnPHlL+N3D3zORum8k+ofOaStDPF3Smv8tprtCDxhP2MZKciVTMo7yl/YGr+1h7pGBQQoiKrj/mJe+PP4re9eTvZPBJyyQfAftP/Sk+O35DwPeSSwgixnC/nLAGPKI/GbX2ykujXiM0GYxGMJmNjeFd/wy/PQijQWkSrDItFCxFsIR4biG244G8IBUwXPlEI+nYcq9ZH4hsmngRQ0zgkoEG7MOhDPFOIbomtYJmtJfppPmfqAmWH9UFE6O75Bup36KqL1IPdHIkv+Torsjf+hRWejYSEjDOzha0EQIujXppfdHb/+9G3I5z3Rd1KgZwb0IpYBSd4Xv/b+k6hFoGMZHKGPT/GB/HHD8WseugTyfQo0CCGg8k7EVSnvn/GrczYgD8+YtpNnCTk8ZNBfjK9Kx68KLYTxCuf7uI4OtUpAvRPOuzP+f21VEJJEyzOTiCm2ASxJfZTjv9tYwoxg9rnAfgnfxpf2xX93z6XsAE6miXo5aBCG48xXDsfPb3kax8kFTenpTNFD3IuNfy5+ftEh1h/1cOuionUNK4njjJZE4ufOqIHo/+LwY/GrXlyvjfHfpN9l1HxA0E13dASRkHR02fPxM6/bCCU8b4N1xNGLaQH6ISdyX/z0unfIj3iChYtjm94o8ofacT/H1968FapZSDJcF5kyNTPrY25oNL62fgA9S2CDNHu4j76EUIkSX9s+E0ICxxtuujiSrwgG2q0rbo6f9GOEiuXwBWz07o7jsyMwvuTK+ElfxtGP8MwikLEs/HkS+cQ98eX8NpaiMAalN7pU77AR5k6PxZe99iNMFzjbGDkIva4nOiwFkdDn8aVtV+O+pvNXZzTruFmbDcP4oo3xBbnfAY8Pt0VBFIOcj0HEzbfi85+tYzoEjpT+h/P2H5gz5Zb4/EuehfGCogsZPZWxfTONfrmq5KT4vF8vgyohxHMjZl4a6W2KXQRVK/z43EfPhipwkde6FnXVM9j9EG7n43P0fAijxyMXSEXnHuKGXHxXfM6vX4Kgu1n8uJ7Kpp0MrjsIa+Nz7trz/1PbA2HDoX6MFj0Tn/VQG+2XIJMOB4rvh58Xj43PqnwSHZfPB0fLDp2THoFxBVK888aHQJZolyJrydJ5aBqlQGt84td/xh8hf6Ml48UQx3rg+DmT4u0Dv8IskZkDu5OpLIpsB2clrLwUn/DrMLMpuw6ChFpGuqax5bJ44/dd0JhCGZE1s9l0WM5HXVBdWBxvvP4EnFmPs+icN2vjKpuM8Zvi9X2rmMnblDgylhvKtoNcujY+7pnn0X3xY0c7VDeM68XLG+Ljbg6zDMc82yONJ3B0TtRY1RCv+esiaBRMxU8n9yX1pG3he5WEb41X7PkeVT5vOux/qV/or1srv4hXnGpCa1pyDFM3M46DMDeK87YhXn7OXmII9JcsEgFC+x9XfHm87MEbEAcUA/RhceQAZDLI/+eMS8cLfiykjET0bEE/BFyFQxCNVcYLbvwYojhb1Eaa8ksB8bCs/I9xKH8YyvwgdcPOEuCyLPCC0aOXnYfzIYgBDgS5CN9DdVWqJ6s1QDUnmNSb3A/0AvLn8NKezOWHQOEFJenEhqW0nC1Af3rqpG09yds/hhwvbDqO7VC7Kxfnv774jZ7hr/ZCjqN4qLCI0ng2PUd5p+fw/MVsyEVwC5w85QXtgfUT/9Xz35vKIX9fCf4BPZ0dlqJ0OBmL5PVsQT4ZCsu2T8EBRjj0Cyxuuqcn8cpnUFwwQpQASP4KOJ95kb/0JIrfopQgnnyj5ylRAXFmefsPPT37n4Z50cPCSO+A47s6+g0DLamnp6fzUjZGK6g3MBGzr2DCuIKenmU3QLNtWFkTxtLfkBdNnTS359N7RqGN7uFwtvcZHopR5OEN1e09n757CKoy+UL40BHJGGK9Dj6/Mu//ejZ+PZP8FNoVTrZAPMHAX13R82EZnTqyILMDcN/wyHNqi37t+bBChkIhv891kMLpBohon7NbX+j58JhGaLMhi0qLYrsc6bKmkpt7PmzbDU0Cc20XoRmVEMcsNOEtPf8uuwf+/18sCOR9DR21J/W8e1orFEeVXIczRw6b+zwJ5zkaXtjz9oWdEAkS+gCVFuoz1gsL6r/s+cfqk2B8jgDOCLKxjI3ItR8qinJ6/m7lQoWC9IxCPBYd7OkQkd/oedmNk7/L9lssJKfdchP1S0XNTT0vbLsLynDoaFYW42Ulivt9cvvmnudHGmAyyiDDHRiACFncz6AUPNjz3FWVoATdskg0IYCz9+G0BXf1PPXXw9DKmwaHM4cgbDD83vzwUT0PL3iT2QUWWA6Pz6f6958gp/TZnjuLSiGHs4PuDPgc5J8ZXPe/9Nz+zEbqfUWVQKiG0DHhujQVtPfc9vcwlW46CJGyF+RR2CAJIz23slIKGxCAOUFAH3lmbv7ve2595jWkNyBGzBHLc510BP0Fqu2e63rnIhn1A8say7fZD8X5T/Scf+tLkC/kSJbu6BnXRJd9GI5r6ek59aFGaI4a7rBnhyAs5UiIn7XF3T2nXHw5lKFLo8gAtShkOP4c5YSeNW9tgByduZ5hm4h+to/vGy36vGfmhBnMJPnjGB6ne7JF6xIq6Zl29vfMEDyeiyK4udQv5Cfcpx/0tN2+H+qNcNbJ6shPLDeFuLe2s7Kn5fMPgEKTwZKZvJ5BXppf+deepmQY+RjSS+RLSjAhJpTnNPbU370YfRrSHMN2HNfCRf4C6qphU/+/L4c65oWYa1BkURbQ3spzYNOR+UVQHuJFjlNA9A0koRshOu6/m3b85QfmWx4SaNe3TA950Q+wfu6Nm75/7VhYpeSM/";

        in += "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";

        in += "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";

        in += "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";

        in += "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";

        in += "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";

        List<WeatherRecord> weatherRecords = new ArrayList<>();

        // Read and decompress file
        ByteBuffer byteBuffer;
        try {
            GZIPInputStream gzipInput = new GZIPInputStream(new ByteArrayInputStream(Base64.getDecoder().decode(in.getBytes(StandardCharsets.UTF_8))));
            byteBuffer = ByteBuffer.wrap(gzipInput.readAllBytes());
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        // Read data
        while (byteBuffer.hasRemaining()) {
            float minTemperature = (float) byteBuffer.getShort() / 10F;
            float maxTemperature = (float) byteBuffer.getShort() / 10F;
            float stdev = (float) byteBuffer.getShort() / 3000F;
            float temperatureHash = byteBuffer.getFloat() * 10F;

            float[] measurements = new float[36];
            measurements[23] = (float) byteBuffer.getShort() / 10F;
            float lastTemperature = measurements[23];

            for (int i = 24; i < measurements.length; i++) {
                float temperatureDelta = (float) byteBuffer.get() / 10F;
                measurements[i] = (lastTemperature += temperatureDelta);
            }

            weatherRecords.add(new WeatherRecord(measurements, new WeatherStatistics(minTemperature, maxTemperature, stdev, temperatureHash), weatherRecords.size()));
        }

        return weatherRecords.toArray(new WeatherRecord[0]);
    }

    private static Float[] generateForecast(WeatherRecord[] sampleRecords, WeatherRecord record) {
        Map<Float, WeatherRecord> weightedRecords = weighRecords(sampleRecords, record.statistics);

        Function<Integer, Float> predict = (hour) -> {
            float temperature = 0F;
            boolean uncertain = false;

            for (Map.Entry<Float, WeatherRecord> entry : weightedRecords.entrySet()) {
                temperature += entry.getValue().measurements[hour] * entry.getKey();
            }

            return uncertain ? null : temperature;
        };

        Float[] forecast = new Float[12];

        Float initialPrediction = predict.apply(23);
        if (initialPrediction != null && isReliableEnough(weightedRecords)) {
            float offset = record.measurements[23] - predict.apply(23);

            for (int hour = 24; hour < 36; hour++) {
                Float prediction = predict.apply(hour);
                forecast[hour - 24] = prediction == null ? null : prediction + offset;
            }
        }

        return forecast;
    }

    private static boolean isReliableEnough(Map<Float, WeatherRecord> weightedRecords) {
        for (Float weight : weightedRecords.keySet()) {
            if (weight > 0.05F) {
                return true;
            }
        }
        return false;
    }

    /**
     * Weighs the given sample records in accordance with their suitability to forecast for a given target.
     * @return A sorted map with weight percentage as key and record as value. Pairs with suitability below a threshold will not appear.
     */
    private static Map<Float, WeatherRecord> weighRecords(WeatherRecord[] sampleRecords, WeatherStatistics target) {
        SortedMap<Float, WeatherRecord> suitabilityMap = new TreeMap<>();
        float totalSuitability = 0F;
        for (WeatherRecord sampleRecord : sampleRecords) {
            float unsuitability = sampleRecord.statistics.calculateUnsuitability(target);

            if (unsuitability < 6000F) {
                float suitability = 10000F / unsuitability;
                totalSuitability += suitability;
                suitabilityMap.put(suitability, sampleRecord);
            }
        }

        Map<Float, WeatherRecord> percentageMap = new LinkedHashMap<>();
        for (Map.Entry<Float, WeatherRecord> entry : suitabilityMap.entrySet()) {
            float weight = entry.getKey() / totalSuitability;
            if (!Float.isNaN(weight)) {
                percentageMap.put(weight, entry.getValue());
            }
        }

        return percentageMap;
    }

    public static class WeatherRecord {
        private int id = -1;
        public float[] measurements;
        public WeatherStatistics statistics;

        public WeatherRecord(float[] measurements, WeatherStatistics statistics, int id) {
            this.measurements = measurements;
            this.statistics = statistics;
            this.id = id;
        }

        public WeatherRecord(float[] measurements) {
            this.measurements = measurements;
            this.statistics = new WeatherStatistics(measurements);
        }

        /**
         * @return An array of Floats (objects, may be null). An element is null if it exceeds the bounds of normal temperatures.
         */
        public static Float[] readMeasurementsFromString(String inputString) {
            String[] input = inputString.trim().split(" ");
            Float[] parsed = new Float[input.length];
            for (int i = 0; i < input.length; i++) {
                float value = Float.parseFloat(input[i]);
                parsed[i] = value < -38F || value > 34F ? null : value;
            }
            return parsed;
        }
    }

    public static class WeatherStatistics {
        public float minTemperature;
        public float maxTemperature;
        public float stdev;
        public float temperatureHash;

        public WeatherStatistics(float minTemperature, float maxTemperature, float stdev, float temperatureHash) {
            this.minTemperature = minTemperature;
            this.maxTemperature = maxTemperature;
            this.stdev = stdev;
            this.temperatureHash = temperatureHash;
        }

        /***
         * Generates the stats for the first 24 measurements of the given array.
         */
        public WeatherStatistics(float[] measurements) {
            assert measurements.length >= 24;

            // Stats are calculated for the first 24 measurement values
            float[] beginning = Arrays.copyOf(measurements, 24);

            this.minTemperature = calculateMinTemperature(beginning);
            this.maxTemperature = calculateMaxTemperature(beginning);
            this.stdev = calculateStdev(beginning);
            this.temperatureHash = calculateTemperatureHash(beginning);
        }

        public float calculateUnsuitability(WeatherStatistics target) {
            return Math.abs(this.temperatureHash - target.temperatureHash) +
                    Math.abs(this.stdev - target.stdev) * 3000 +
                    Math.abs(this.temperatureHash - target.temperatureHash) +
                    Math.abs(this.temperatureHash - target.temperatureHash);
        }

        private static float calculateMinTemperature(float[] measurements) {
            return calculateMinMaxTemperature(true, measurements);
        }

        private static float calculateMaxTemperature(float[] measurements) {
            return calculateMinMaxTemperature(false, measurements);
        }

        private static float calculateMinMaxTemperature(boolean min, float[] measurements) {
            float best = measurements[0];
            for (float measurement : measurements) {
                if (min ? measurement < best : measurement > best) {
                    best = measurement;
                }
            }
            return best;
        }

        private static float calculateAverage(float[] measurements) {
            float sum = 0F;
            for (float measurement : measurements) {
                sum += measurement;
            }
            return sum / measurements.length;
        }

        private static float calculateStdev(float[] measurements) {
            float average = calculateAverage(measurements);
            double stdev_squared = 0F;
            for (float measurement : measurements) {
                stdev_squared += Math.pow(measurement - average, 2) / (double)(measurements.length - 1);
            }
            return (float) Math.sqrt(stdev_squared);
        }

        private static float calculateTemperatureHash(float[] measurements) {
            float hash = 0F;
            for (int i = 0; i < measurements.length; i++) {
                hash += (float) (measurements[i] * Math.pow(i + 1, 1.8D));
            }
            return hash;
        }
    }

}

Test details

Test 1

Verdict: ACCEPTED

input
1000
-0.4 -0.1 -0.2 -0.3 -0.4 -0.5 ...

correct output
0.4 0.4 0.5 0.8 0.9 1.1 1.3 1....

user output
0.24857742 0.2536588 0.2066159...
Truncated

Test 2

Verdict: ACCEPTED

input
1000
2.9 2.9 2.9 2.1 2.6 2 2 2.2 2....

correct output
2.3 1.6 1.5 1.1 1 0.7 0.6 0.8 ...

user output
2.6921334 2.7050793 2.612682 2...
Truncated

Test 3

Verdict: ACCEPTED

input
1000
6.6 6 6.4 6 4.6 4.6 4.2 4.3 4....

correct output
10 10.9 10.3 10.1 9.1 7.3 5.7 ...

user output
9.8532295 9.987927 9.512354 8....
Truncated

Test 4

Verdict: ACCEPTED

input
1000
19.4 20.2 19.1 18.9 18.3 17.3 ...

correct output
18 18.2 17 17.5 17.2 16.2 12 8...

user output
? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ?
0.88796294 0.79817176 0.681151...
Truncated

Test 5

Verdict: ACCEPTED

input
1000
-5.7 -5.8 -5.8 -5.9 -7.1 -6.9 ...

correct output
-4.2 -4.1 -4 -3.8 -3.5 -3.2 -3...

user output
-4.3985486 -4.3646374 -4.50876...
Truncated

Test 6

Verdict: ACCEPTED

input
1000
14.8 14.8 15.4 12.9 11.8 9.7 9...

correct output
11.8 11 11.6 10.8 10.4 10.4 10...

user output
? ? ? ? ? ? ? ? ? ? ? ?
10.804177 11.050696 11.349303 ...
Truncated

Test 7

Verdict: ACCEPTED

input
1000
0.7 1 2 1.4 0.6 -0.4 -0.9 -0.7...

correct output
-1.3 -0.5 -0.6 -1 -3.2 -7.2 -6...

user output
-1.8360051 -1.9058261 -2.00643...
Truncated

Test 8

Verdict: ACCEPTED

input
1000
15.1 15.3 14.9 14.4 14.4 13.7 ...

correct output
15.6 15.9 16 15.2 14.6 14.4 13...

user output
15.1599865 15.200447 14.969711...
Truncated