https://coderun.yandex.ru/problem/calculate-tags/description Легкая

Решение

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter

fun calculateTagTime(n: Int): Long {
    if (n == 1) return 1L // База: одна задача - 1 тег
    if (n == 2) return 2L // База: две задачи - 2 тега
    
    var t1 = 1L // Количество тегов для первой задачи
    var t2 = 1L // Количество тегов для второй задачи
    var sum = 2L // Начальная сумма тегов
    
    for (i in 3..n) { // Вычисление тегов для каждой задачи
        val tNext = t1 + t2 // Следующее количество тегов по правилу
        sum += tNext // Добавление к общей сумме
        t1 = t2 // Сдвиг значений
        t2 = tNext
    }
    return sum
}

fun main(args: Array<String>) {
    val reader = BufferedReader(InputStreamReader(System.`in`))
    val writer = BufferedWriter(OutputStreamWriter(System.out))
    
    val n = reader.readLine().toInt() // Чтение количества задач
    
    val result = calculateTagTime(n) // Вычисление общего времени
    writer.write(result.toString()) // Вывод результата
    writer.newLine()
    
    reader.close()
    writer.close()
}