M_sea

CF1130E Wrong Answer
CodeforcesLuogu分析构造题。为了方便,假设 $n=2000$ 。我们现在前面构造 $1998$ 个 ...
扫描右侧二维码阅读全文
02
2019/06

CF1130E Wrong Answer

Codeforces

Luogu

分析

构造题。

为了方便,假设 $n=2000$ 。

我们现在前面构造 $1998$ 个 $0$ ,然后设 $1999$ 项为 $-d$ ,$2000$ 项为 $x+d$ 。

那么正确答案就是 $2000x$ ,Alice 算出来的答案是 $x+d$ ,两者的差为 $1999x-d$ 。

那么 $1999x-d=k\Rightarrow x=\frac{k+d}{1999}$ 。随便找一组满足条件的 $x$ 和 $d$ 即可。

代码

// =================================
//   author: M_sea
//   website: http://m-sea-blog.com/
// =================================
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#define re register
using namespace std;

inline int read() {
    int X=0,w=1; char c=getchar();
    while (c<'0'||c>'9') { if (c=='-') w=-1; c=getchar(); }
    while (c>='0'&&c<='9') X=X*10+c-'0',c=getchar();
    return X*w;
}

int main() {
    int k=read(),d=1999-k%1999,x=(k+d)/1999;
    puts("2000");
    for (re int i=1;i<=1998;++i) printf("%d ",0);
    printf("%d %d\n",-d,x+d);
    return 0;
}
最后修改:2019 年 06 月 02 日 09 : 08 PM

发表评论