https://coderun.yandex.ru/problem/substring/description Легкая

Решение

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

fun main() {
    val reader = BufferedReader(InputStreamReader(System.`in`))
    val writer = BufferedWriter(OutputStreamWriter(System.out))
    
    val (n, k) = reader.readLine().split(" ").map { it.toInt() }
    val s = reader.readLine()
    
    val freq = IntArray(26)
    
    var left = 0
    var bestLen = 0
    var bestStart = 0
    
    for (right in 0 until n) {
        val c = s[right]
        freq[c - 'a']++
        
        while (freq[c - 'a'] > k) {
            freq[s[left] - 'a']--
            left++
        }
        
        val currentLen = right - left + 1
        if (currentLen > bestLen) {
            bestLen = currentLen
            bestStart = left
        }
    }
    
    writer.write("$bestLen ${bestStart + 1}")
    writer.flush()
    reader.close()
    writer.close()
}