2020牛客暑期多校训练营(第六场)Easy Construction

https://ac.nowcoder.com/acm/contest/5671/E

题解:1~n和为n^2/2+n/2,若满足条件那么当n为偶数时,k必是n/2;n为奇数,k为0;

那么可以构造1,n-1,2,n-2......

#include <bits/stdc++.h>
using namespace std;
//#define int long long
 
signed main()
{
    int n,k;
    cin>>n>>k;
    if(n%2&&k==0){
        for(int i=1;i<=n/2;++i){
            printf("%d %d ",i,n-i);
        }
        printf("%d",n);
    }else if(n%2==0&&k==n/2){
        for(int i=1;i<n/2;++i){
            printf("%d %d ",i,n-i);
        }
        printf("%d %d",n/2,n);
    }else{
        printf("-1");
    }
}

猜你喜欢

转载自blog.csdn.net/qq_44132777/article/details/107707669