это жесть, а не задача. По-моему слишком сложная для 1-й 2-го тура. Слишком много отдельных случаев, которые нужно рассматривать. Да, она не такая сложная, если рассматривать её как координатную плоскость, но что нужно было делать, чтобы додуматься до этого? Вопрос риторический.
@@creativedirector3198 ну вот рассмотрим число kn, тогда ans += min(a,a+b-n*k,n*k) + 1 Для каких то k {1,2,3,4,5..} у тебя будет прибавляться просто a, потом для каких-то k {6,7,8,9} будет прибавляться a+b-k*n, для каких-то k {10,11,12,13} будет прибавлялся просто k*n. Ну ты просто в while смотришь какой щас отрезок и что именно прибавлять и бинпоиском ищешь когда при каком K заканчивается этот отрезок .
это жесть, а не задача. По-моему слишком сложная для 1-й 2-го тура. Слишком много отдельных случаев, которые нужно рассматривать. Да, она не такая сложная, если рассматривать её как координатную плоскость, но что нужно было делать, чтобы додуматься до этого? Вопрос риторический.
. Я чисто не парился и впихал пару бинпоисков и сдал ее
@@wie9974 бинпоиски по чему? Я искал границы разных фаз у суммы, это было весьма геморно в реализации, взял фул больше чем через час
@@creativedirector3198 я как нашел первую границу фазы, то добавляю ее к ответу, а потом нахожу вторую, а потом третью и т.д.
@@wie9974 у тебя получились фазы в духе min(a+1, len), a+1, min(len-a...
@@creativedirector3198 ну вот рассмотрим число kn, тогда ans += min(a,a+b-n*k,n*k) + 1
Для каких то k {1,2,3,4,5..} у тебя будет прибавляться просто a, потом для каких-то k {6,7,8,9} будет прибавляться a+b-k*n, для каких-то k {10,11,12,13} будет прибавлялся просто k*n. Ну ты просто в while смотришь какой щас отрезок и что именно прибавлять и бинпоиском ищешь когда при каком K заканчивается этот отрезок .
Задача А второго тура стабильно труднее задачи А первого тура.
в след. регионе задача A будет как задача C первого тура :)
@@silentlyow не дай Бог)