CF415C Mashmokh and Numbers

Published on 2017 Jul 11 09:22:57
Last Updated on 2017 Jul 12 10:04:56

传送门
1A
CF的C题哪里有这么水的。。。一看Div.2。。。
大意:要求你构造一个长度为n的各项不相等的正整数数列a,使得gcd(a[2i-1],a[2i])的和(如果n是单数最后一个数不算)为k
k<n/2的时候啃定不行,因为gcd至少是1
否则使得第一对gcd是k-n/2+1,其他对gcd都是1(反正我是这么做的)
由于相邻正整数gcd是1,就可以乱搞了
坑点:n=1要特判QAQ还好我事先发觉

#include <bits/stdc++.h>
using namespace std;

int main(){
    int n,k;
    scanf("%d%d",&n,&k);
    if(n/2>k){
        printf("-1");
        return 0;
    }
    if(n==1){
        if(k) printf("-1");
        else printf("1");
        return 0;
    }
    printf("%d",k-n/2+1);
    int t=((k-n/2+1)<<1);
    for(int i=1;i<n;++i,++t){
        printf(" %d",t);
    }
    return 0;
}