题目要求构造一组数据使得题目给出代码的anwser和正确答案恰好相差k,我们记题目给出代码的输出为ans1,正确答案为ans2。

我们假设已经有总和为s的p个正数,使得此时的ans1=ans2=s*p,然后我们在左端添加一串长度为q,并且总和为-1的数,此时ans1=s*p,ans2=(s-1)*(p+q).

此时我们让ans2-ans1=k,于是我们推到得出s*(q-1)=k+p。

那么我们就可以通过枚举p,然后求k+p的因子,来判断是否存在合法方案。

显然p+q<=2000,并且由于p个数的总和应该达到k,所以p*1e6<=k ,然后另外的q个数和应该为-1,这个显然q为任意数都能构造出合法方案。

以下为具体代码。

#include<bits/stdc++.h>
using namespace std;
int i,i0,n,m;
int main()
{
scanf("%d",&n);
for(int p=1;p<=2000;p++)
{
for(i=1;i*i<=n+p;i++)
{
if((n+p)%i==0)
{
int q,k;
q=i,k=(n+p)/q+1;
if(q+p<=2000&&k<=(long long)1000000*p)
{
printf("%d\n",p+q);
for(i=1;i<q;i++)printf("0 ");
printf("-1");
for(i=1;i<=p;i++)
{
if(k>=1000000)printf(" 1000000"),k-=1000000;
else printf(" %d",k),k=0;
}
return 0;
}
q=(n+p)/i,k=i+1;
if(q+p<=2000&&k<=(long long)1000000*p)
{
printf("%d\n",p+q);
for(i=1;i<q;i++)printf("0 ");
printf("-1");
for(i=1;i<=p;i++)
{
if(k>=1000000)printf(" 1000000"),k-=1000000;
else printf(" %d",k),k=0;
}
return 0;
}
}
}
}
printf("-1\n");
return 0;
}

Codeforces 1130 E.Wrong Answer 构造的更多相关文章

  1. CF - 1130 E Wrong Answer

    PS:换了一种方式 希望大家喜欢 2333 /** code by: zstu wxk time: 2019/03/01 Problem Link: http://codeforces.com/con ...

  2. Codeforces 743C - Vladik and fractions (构造)

    Codeforces Round #384 (Div. 2) 题目链接:Vladik and fractions Vladik and Chloe decided to determine who o ...

  3. Educational Codeforces Round 10 B. z-sort 构造

    B. z-sort 题目连接: http://www.codeforces.com/contest/652/problem/B Description A student of z-school fo ...

  4. Codeforces 707C Pythagorean Triples(构造三条边都为整数的直角三角形)

    题目链接:http://codeforces.com/contest/707/problem/C 题目大意:给你一条边,问你能否构造一个包含这条边的直角三角形且该直角三角形三条边都为整数,能则输出另外 ...

  5. Codeforces 1246D/1225F Tree Factory (构造)

    题目链接 https://codeforces.com/contest/1246/problem/D 题解 首先考虑答案的下界是\(n-1-dep\) (\(dep\)为树的深度,即任何点到根的最大边 ...

  6. Codeforces - 1202D - Print a 1337-string... - 构造

    https://codeforces.com/contest/1202/problem/D 当时想的构造是中间两个3,然后前后的1和7组合出n,问题就是n假如是有一个比较大的质数因子或者它本身就是质数 ...

  7. CodeForces - 803C Maximal GCD 【构造】

    You are given positive integer number n. You should create such strictly increasing sequence of k po ...

  8. Codeforces 1368E - Ski Accidents(构造+思维)

    Codeforces 题面传送门 & 洛谷题面传送门 神仙构造题(不过可能我构造太烂了?) 首先考虑这个奇奇怪怪的 \(\dfrac{4}{7}\),以及这个每个点出度最多为 \(2\) 的条 ...

  9. Codeforces 1270E - Divide Points(构造+奇偶性)

    Codeforces 题目传送门 & 洛谷题目传送门 显然,直接暴力枚举是不可能的. 考虑将点按横纵坐标奇偶性分组,记 \(S_{i,j}=\{t|x_t\equiv i\pmod{2},y_ ...

随机推荐

  1. 去把bilibili的返回顶点锚点扒了下来

    今天闲来无事看着刷着bilibili对那锚点标记觊觎已久,下决心将其收为己用,遂动手. 个人主推Firefox+firebug查看网页代码.我用的是夜壶(nightly),就火狐的每日更新版(建议不用 ...

  2. spring boot获取request

    1. Controller中 1.1 通过静态方法获取 HttpServletRequest request = ((ServletRequestAttributes)RequestContextHo ...

  3. mysql行转列,列转行

    行转列,列转行是我们在开发过程中经常碰到的问题.行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 2005 新增的运算符PIVOT来实现.用传统的方法,比较好理解.层次清 ...

  4. java,JsonFormat格式化日期问题

    今天使用以下代码格式日期字段 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; 发现这样渲 ...

  5. 使用JavaScript动态更改CSS样式

    在很多情况下,都需要对网页上元素的样式进行动态的修改.在JavaScript中提供几种方式动态的修改样式,下面将介绍方法的使用.效果.以及缺陷. 1.使用obj.className来修改样式表的类名. ...

  6. 洛谷P4783 【模板】矩阵求逆(高斯消元)

    题意 题目链接 Sol 首先在原矩阵的右侧放一个单位矩阵 对左侧的矩阵高斯消元 右侧的矩阵即为逆矩阵 // luogu-judger-enable-o2 #include<bits/stdc++ ...

  7. Python爬虫学习记录【内附代码、详细步骤】

    引言: 昨天在网易云课堂自学了<Python网络爬虫实战>,视频链接 老师讲的很清晰,跟着实践一遍就能掌握爬虫基础了,强烈推荐! 另外,在网上看到一位学友整理的课程记录,非常详细,可以优先 ...

  8. 抓取远程master分支到本地,并与UI分支合并

    1.pull (1)UI:  git add . git commit -m   git checkout master (2)master:  git pull origin master  git ...

  9. 创建完美SDK的10个技巧

    [编者按]本文作者为 Gal Lavinsky,文中将列出10个零基础小技巧,帮你创建完美的Java SDK.文章系国内 ITOM 管理平台 OneAPM 编译呈现.以下为正文. 本文起源于笔者朋友的 ...

  10. 读写appSettings配置节方法

    <configuration>   <appSettings>     <add key="Socket_Path_MW_data" value=&q ...