CF1129B 【Wrong Answer】

既然 $ 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\n");
    for (int i = 1; i <= 1998; i ++) printf("0 ");
    printf("%d %d\n", -a + (k + a) / 2000, a);
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/wjnclln/p/10729776.html