1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
def max_task_hours(n, k, t, schedule):
    ilosc_spotkan = 0
    for x in range(n):
        if schedule[x] == "1" or schedule[x] == "2":
            ilosc_spotkan += 1
    
    if k >= ilosc_spotkan:
        return n

    if schedule[0] == "1" or schedule[n - 1] == "1":
        return -1

    if t * 2 >= n:
        return -1

    task_hours = 0
    missed_meetings = 0
    for i in range(n):
        if schedule[i] == "1":
            if missed_meetings < k:
                missed_meetings += 1
                task_hours += 1
            else:
                return -1

        elif schedule[i] == "2":
            task_hours += 1

        elif schedule[i] == "3":
            pass

    return task_hours


# Pobranie danych wejściowych od użytkownika
n, k, t = map(int, input().split())
schedule = input()

# Wywołanie funkcji i wyświetlenie wyniku
result = max_task_hours(n, k, t, schedule)
print(result)