既然 $ n leq 2000$ 那我们就假使所有的 $n = 2000 $ 主要是为了方便。再使 (x = sum_{i=1} ^ {1999}) 以及 $a_1=a_2=a_3=...=a_{1998}=0 (,)a_{1999}=-d(,)a_{2000}=x+d$。
正确答案就应该是(2000x),而爱丽丝答案为(x+d),两个答案的差值为(2000x-x+d),所以(1999x=k+d),(x=frac{k+d}{1999}),则d = 1999 - k % 1999。
#include<bits/stdc++.h>
using namespace std;
int k, a;
int main() {
scanf("%d", &k);a = 2000 - k % 2000 + 998000;
printf("2000
");
for (int i = 1; i <= 1998; i ++) printf("0 ");
printf("%d %d
", -a + (k + a) / 2000, a);
return 0;
}