Universal Cup Judging System

Universal Cup

Limite de temps : 1.0 s Limite de mémoire : 1024 MB Points totaux : 100 Hackable ✓
Statistiques

$n$명의 사람이 일렬로 서 있다. $i$번째 사람은 동전 $a_i$개를 가지고 있다.

거지 Robin은 모두가 더 평등해지도록 돕고 싶다. 한 번의 연산에서 그는 두 사람을 골라 그들의 돈을 둘에게 똑같이 나누어 준다. 정확히 말하면, $1 \le i \le j \le n$인 두 위치 $i$와 $j$를 고르고, $x = \frac{a_i+a_j}{2}$를 계산한 다음 $a_i := x$, $a_j := x$로 설정한다.

그런데 한 가지 문제가 있다. 동전은 쪼갤 수 없다. $a_i+a_j$가 홀수이면 Robin은 동전 하나를 두 조각으로 나눌 수 없다. 이 경우 Robin은 기꺼이 그 동전 하나를 자신의 보수로 가져가고, 나머지를 똑같이 나누어 준다.

Robin은 매우 배가 고프므로 가능한 한 빨리 보수를 받고 싶다(즉, 동전을 적어도 하나 가져가고 싶다).

양의 정수 배열 $a_1,a_2,\ldots,a_n$에 대해, Robin이 보수를 받기 위해 수행해야 하는 최소 연산 횟수를 $f(a_1,a_2,\ldots,a_n)$으로 정의한다. Robin이 보수를 절대로 받을 수 없다면 $f(a_1,a_2,\ldots,a_n)=0$이다.

배열 $a_1,a_2,\ldots,a_n$이 주어진다. 다음 값을 계산하여

$$ \sum_{l=1}^{n}\sum_{r=l}^{n} f(a_l,\ldots,a_r)^2 $$

$998\,244\,353$으로 나눈 나머지를 구하여라.

입력

첫 번째 줄에 테스트 케이스의 수를 나타내는 정수 $t$ ($1 \le t \le 10^4$)가 주어진다.

각 테스트 케이스의 첫 번째 줄에 배열의 길이를 나타내는 정수 $n$ ($1 \le n \le 2\cdot 10^5$)이 주어진다.

각 테스트 케이스의 두 번째 줄에 사람들이 가진 동전의 개수를 나타내는 $n$개의 정수 $a_1,a_2,\ldots,a_n$ ($1 \le a_i \le 10^9$)이 주어진다.

모든 테스트 케이스에 대한 $n$의 합은 $2\cdot 10^5$를 넘지 않음이 보장된다.

출력

각 테스트 케이스마다 주어진 배열의 모든 부분 배열에 대한 $f$ 값의 제곱의 합을 $998\,244\,353$으로 나눈 나머지를 나타내는 정수 하나를 출력하여라.

예제

입력 1

4
3
2 18 2
10
1 2 3 4 5 6 7 8 9 10
5
20 36 100 36 20
2
1000000000 999999999

출력 1

25
45
174
1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.