Codeforces Round #803 (Div. 2)
05:40:40 |
Codeforces Round #804 (Div. 2)
6 өдрийн дараа |
C. Максим ба матриц
хугацааны хязгаарлалт 2 секунд
санах ойн хязгаарлалт 256 мегабайт
оролт стандарт оролт
гаралт стандарт гаралт
Максим онцгой хэлбэрээр матрицыг бөглөх дуртай. $(m + 1) × (m + 1)$ хэмжээтэй матрицыг бөглөх псевдо код өгөгдөв:
Матрицын $m+1$ дугаартай мөрд байгаа тоонуудын нийлбэр нь $t$-тэй тэнцүү байх $m$ $(1 ≤ m ≤ n)$ тоо хэд байгааг тоолно уу гэж Максим хүсч байна.
($x$ xor $y$) үйлдэл нь $x$ ба $y$ тоонуудыг битийн exclusing $or$ үйлдэл хийнэ гэсэн үг юм. Уг үйлдэл нь одоо үеийн бүх програмчлалын хэлнүүдэд байдаг. Жишээлбэл, $C++$ болон $Java$ хэлүүдэд "^
" тэмдэглэгээгээр, $Pascal$ хэлэнд "xor
" тэмдэглэгээгээр илэрхийлэгдэнэ.
Оролт
$n$ ба $t$ $(1 ≤ n, t ≤ 10^{12}, t ≤ n + 1)$ агуулсан мөр.
С++ хэлэнд 64 битийн бүхэл тоог унших, бичихдээ %lld
тодорхойлогчийг битгий ашиглаарай. Харин %I64d
тодорхойлогчийг эсвэл cin
, cout
урсгалуудыг ашиглах нь дээр байдаг.
Гаралт
Бодлогын хариу болох бүхэл тоог хэвлэ.
Орчуулсан: Солонго
Жишээ тэстүүд
Оролт
1 1
Гаралт
1
Оролт
3 2
Гаралт
1
Оролт
3 3
Гаралт
0
Оролт
1000000000000 1048576
Гаралт
118606527258