题目 题意:给定一个数组 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
关注
打赏