CSES - Datatähti 2024 alku - Results
Submission details
Task:Säähavainnot
Sender:Lelleri
Submission time:2023-11-12 14:22:38 +0200
Language:Python3 (CPython3)
Status:READY
Result:53
Feedback
groupverdictscore
#1ACCEPTED52.5
Test results
testverdicttimescore
#1ACCEPTED0.06 s6.75details
#2ACCEPTED0.06 s6.75details
#3ACCEPTED0.06 s6.88details
#4ACCEPTED0.06 s6.38details
#5ACCEPTED0.06 s6.63details
#6ACCEPTED0.06 s6.25details
#7ACCEPTED0.06 s6.38details
#8ACCEPTED0.06 s6.5details

Code

def map_list(l, c=0, d=1):
    a = min(l)
    b = max(l)
    nl = []
    for i in l:
        nl.append((i-a)/max(b-a, 0.00001)*(d-c)+c)
    return nl

def interpolate(num1, num2, i):
    return round(num1*(1-1/12*i)  +  num2*(1/12*i), 2)


n = int(input())
lines = [[float(v) for v in input().split()] for _ in range(n)]

samples_avg = [0.7213076541287359, 0.7172525496038399, 0.6947355504903254, 0.660461632939925, 0.6165585637930031, 0.5675291208552578, 0.5174905514599432, 0.46565519325323423, 0.42099276209127684, 0.38668104786322, 0.357949142026592, 0.3326530070708933]


for line in lines:
    samples_avg1 = map_list(samples_avg, min(line), line[23])
    samples_avg1 = [s-(samples_avg1[0]-line[23]) for s in samples_avg1]

    samples_avg2 = map_list(samples_avg, min(line), max(line))

    samples_avg = [interpolate(samples_avg1[s], samples_avg2[s], s) for s in range(12)]

    [print(n, end=" ") for n in samples_avg[:-7]+["?"]*7]
    print()

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.2 0.19 0.11 -0.0 -0.15 ? ? ?...
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.6 2.62 2.6 2.55 2.48 ? ? ? ?...
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
10.1 10.02 9.56 8.86 7.97 ? ? ...
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
17.2 17.38 17.19 16.75 16.07 ?...
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.5 -4.54 -4.73 -5.03 -5.42 ?...
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
12.6 12.77 12.65 12.31 11.77 ?...
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.8 -1.49 -1.26 -1.12 -1.09 ?...
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.0 14.98 14.74 14.36 13.86 ?...
Truncated