CF Round #240 (Div. 2) C

来源:互联网 发布:手机全透明软件 编辑:程序博客网 时间:2024/05/16 18:41

题意是构造一个无相同数字的序列长度和价值,价值为每取两位的gcd

正解是构造成两部分:长度为n-1的gcd为1,长度为2的价值不足的值

半夜脑抽筋了,居然构造成了奇偶 

#include<map>#include<iostream>#include<stdio.h>using namespace std;int main(){    int n,k;    scanf("%d%d",&n,&k);    if(n==1&&k==0)return puts("1");        if(n/2>k)return puts("-1");    else    {        int a=k-n/2+1;        if(a>k)return puts("-1");        printf("%d %d ",a,a*2);        int ans=a*2+1;        for(int j=0;j<n/2-1;++j,ans+=2)        {            printf("%d %d ",ans,ans+1);        }        if(n&1)printf("%d",ans);    }}


0 0
原创粉丝点击