Codeforces Round #803 (Div. 2)
05:08:07 |
Codeforces Round #804 (Div. 2)
7 өдрийн дараа |
A. Картууд
хугацааны хязгаарлалт 1 секунд
санах ойн хязгаарлалт 256 мегабайт
оролт стандарт оролт
гаралт стандарт гаралт
Хэрэглэгч Айнта картуудаар тоглох дуртай. Түүнд "$o$" үсэг агуулсан $a$ картууд, "$x$" үсэг агуулсан $b$ картууд байна. Тэр эгнээнд картуудыг зохион байгуулж, доорх томъёогоор тавцангийн оноог тооцдог.
- Эхлээд оноо $0$ байна.
- "$o$"-н үргэлжилсэн хэсэг бүрийн хувьд урт нь $x$ бол оноог $x^{2}$-р өсгөнө.
- "$x$"-н үргэлжилсэн хэсэг бүрийн хувьд урт нь $y$ бол оноог $y^{2}$-р бууруулна. Жишээлбэл, хэрвээ $a = 6, b = 3$ бол Айнта картуудын дарааллыг "$ooxoooxxo$" дүрслэгдэх тэмдэгт мөрөөр зохион байгуулаад $2^{2} - 1^{2} + 3^{2} - 2^{2} + 1^{2} = 9$-тэй тэнцүү тавцангийн оноо авна. Учир нь тавцанд нийт 5 хэсэг байгаа: "$oo$", "$x$", "$ooo$", "$xx$", "$o$".
Хэрэглэгч Айнта их тоонд дуртай, тиймээс өгөгдсөн картуудаар хамгийн их оноог авахыг хүссэн. Хамгийн их боломжит оноог авахад түүнд тусал. Тэр бүх картыг зохион байгуулах ёстойг анхаарна уу.
Оролт
Эхний мөр нь зайгаар тусгаарлагдсан $a$, $b$ ($0 ≤ a, b ≤ 10^{5}; a + b ≥ 1$) бүхэл тоонуудыг агуулна. Энэ нь "$o$"-той картуудын болон "$x$"-тэй картуудын тоо юм.
Гаралт
Эхний мөрөнд Айнтагийн авч чадах хамгийн их оноо болох $v$ бүхэл тоог хэвлэнэ.
Хоёр дахь мөрөнд тавцанг тодорхойлсон $a + b$ тэмдэгтүүдийг хэвлэнэ. Хэрвээ тавцангийн $k$-р карт "$o$"-г агуулсан бол $k$-р тэмдэгт "$o$" байна. $k$-р карт "$x$"-г агуулсан бол $k$-р тэмдэгт "$x$" байна. "$o$" тэмдэгтүүдийн тоо $a$-тай тэнцүү, "$x$" тэмдэгтүүдийн тоо $b$-тэй тэнцүү байх ёстой. Хэрвээ $v$-г хамгийн их байлгах олон арга байгаа бол аль нэгийг хэвлэнэ.
С++ хэлний оролт гаралтын хэлбэрт $\%lld$ буюу тодорхойлбол 64-bit бүхэл тоог бүү хэрэглээрэй. Харин $cin$, $cout$ урсгал эсвэл $\%I64d$ хэлбэрийг ашиглавал тохиромжтой.
Орчуулсан: Даариймаа
Жишээ тэстүүд
Оролт
2 3
Гаралт
-1 xoxox
Оролт
4 0
Гаралт
16 oooo
Оролт
0 4
Гаралт
-16 xxxx