题目
题意:给定一个数组
a
i
a_i
ai和m,求是否能重排
a
i
a_i
ai,使得
∑
i
=
1
n
∑
j
=
i
n
a
j
j
=
m
\sum_{i=1}^n\sum_{j=i}^n\frac{a_j}{j}=m
∑i=1n∑j=injaj=m,这里的除法是非整除除法,
5
2
=
2.5
\frac{5}{2}=2.5
25=2.5
思路:
∑
i
=
1
n
∑
j
=
i
n
a
j
j
=
∑
i
=
1
n
a
i
=
m
\sum_{i=1}^n\sum_{j=i}^n\frac{a_j}{j}=\sum_{i=1}^na_i=m
∑i=1n∑j=injaj=∑i=1nai=m
#include
using namespace std;
#define ll long long
const int maxn = 1000010;
int a[maxn];
int main() {
int t;
scanf("%d", &t);
while (t--) {
int n, m;
scanf("%d%d", &n, &m);
ll sum = 0;
for (int i = 0, x; i
关注
打赏
