CSES - Datatähti 2024 alku - Results
Submission details
Task:Säähavainnot
Sender:rottis
Submission time:2023-11-01 17:26:53 +0200
Language:Ruby
Status:READY
Result:0
Feedback
groupverdictscore
#1ACCEPTED0
Test results
testverdicttimescore
#1ACCEPTED0.10 s0details
#2ACCEPTED0.10 s0details
#3ACCEPTED0.10 s0details
#4ACCEPTED0.10 s0details
#5ACCEPTED0.10 s0details
#6ACCEPTED0.10 s0details
#7ACCEPTED0.10 s0details
#8ACCEPTED0.10 s0details

Code

class Day
  attr_accessor :days, :average, :median, :max, :min, :delta, :time_of_year, :id, :approximation
  def initialize(days, id)
    @id = id
    @days = days
    @average = days.sum / days.length
    @median = days.sort[days.length / 2]
    @max = days.max
    @min = days.min
    @delta = days.max - days.min
    @time_of_year = @average + @min + @max
    @approximation = @average + @median + @max + @min - @delta
  end

  def similarity(other)
    values = [@average, @mean, @max, @min, @delta]
    values2 = [other.average, other.mean, other.max, other.min, other.delta]
    score = 5 # values length
    values.zip(values2).each do |v1, v2|
      score -= (v1 - v2).abs
    end
  end
end

count = gets.chomp.to_i
days = []
count.times do |index|
  days << Day.new(gets.chomp.split(" ").map(&:to_f), index)
end

days.sort_by(&:approximation)
results = Array.new(days.length)
days.each do |day|
  index = day.id
  results[index] = day.days[0..11]
end

results.each do |day|
  puts day.join(" ")
end

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.4 -0.1 -0.2 -0.3 -0.4 -0.5 ...
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.9 2.9 2.9 2.1 2.6 2.0 2.0 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
6.6 6.0 6.4 6.0 4.6 4.6 4.2 4....
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
19.4 20.2 19.1 18.9 18.3 17.3 ...
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
-5.7 -5.8 -5.8 -5.9 -7.1 -6.9 ...
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
14.8 14.8 15.4 12.9 11.8 9.7 9...
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
0.7 1.0 2.0 1.4 0.6 -0.4 -0.9 ...
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.1 15.3 14.9 14.4 14.4 13.7 ...
Truncated