n = int(input())
a = int(input())
b = int(input())
ans = max(0, min(a, b) - max(0, n-b) + 1)
print(ans)
Объяснение:
Пусть имеется a штук первого типа, b штук второго типа, а требуется взять n пирожных.
Пусть p - количество пирожных первого типа, которые взяли, q - количество пирожных второго типа, которые взяли. Тогда должны выполняться условия:
1) p+q = n
2) 0 <= p <= a
3) 0 <= q <= b
Рассмотрим третье неравенство. q заменим на n-p с учетом первого равенства. После этого преобразуем полученное неравенство.
0 <= n-p <= b
-b <= p-n <= 0
n-b <= p <= n
С учетом второго неравенства, получим окончательные границы для p:
max(0, n-b) <= p <= min(a, n).
Поскольку фиксированное значение p однозначно определяет q, то искомое количество выбрать пары (p, q) равно числу выбрать p - это количество целых чисел на отрезке [max(0, n-b); min(a, n)], то есть ans = min(a, n) - max(0, n-b) + 1. Может так получиться, что ответ неположителен - это из-за того, что выбрать пирожные вообще нельзя. Поэтому нужно и этот момент подкорректировать: ans = max(0, min(a, n) - max(0, n-b) + 1).
Поделитесь своими знаниями, ответьте на вопрос:
Определите что будет напечатано в результате работы программы Решение представьте в виде таблицы program n1; var s, k: integer; begin s:=0 k:=1 while k<7 do begin s:=s+10; k:=k+1; end; writeln ('s=', s) end.
Ваня и С.- отличники, значит Ваня не С.
Петя и В.- троечники, значит Петя не В.
В. ростом выше П., а Коля ростом ниже П. - значит Коля не В. и Коля не П.
так как Петя – троечник, то Петя не С.
так как Ваня – отличник, то Ваня не В.
Саша не П., не С., не К.
тогда Коля это С. Коля это не К.
т.к. Саша это В. и Саша одного роста с Петей, то Петя не может быть П., т.к. В выше П., Петя это К.
отсюда Ваня это П.
В П С К
Cаша + - - -
Коля - - + -
Петя - - - +
Ваня - + - -
Ваня – П
Петя – К
Саша – В
Коля – С