結果

問題 No.1635 Let’s Sort Integers!!
ユーザー ytft
提出日時 2021-08-26 16:21:13
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 905 bytes
コンパイル時間 1,835 ms
コンパイル使用メモリ 172,536 KB
実行使用メモリ 16,972 KB
最終ジャッジ日時 2024-11-18 09:48:35
合計ジャッジ時間 15,273 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 49 WA * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

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

int min(int a,long long b){
    if(a>b){
        return (int)b;
    }else{
        return a;
    }
}

int main(){
    long long N,K;
    cin>>N>>K;
    if(N-1>K||N*(N-1)/2<K){
        cout<<-1<<endl;
        return 0;
    }
    int pointer=N-1;
    vector<int> memo(0);
    for(int i=N-1;i>=1;--i){
        memo.push_back(pointer);
        if(K==0)break;
        if(N/2<=pointer){
            pointer-=min(i,K);
            K-=min(i,K);
        }else{
            pointer+=min(i,K);
            K-=min(i,K);
        }
    }
    vector<int> used(N),ans(0);
    for(int i=0;i<memo.size();i++){
        used[memo[i]]=1;
    }
    for(int i=memo.size()-1;i>=1;--i){
        ans.push_back(memo[i]);
    }
    for(int i=0;i<N;++i){
        if(!used[i])ans.push_back(i);
    }
    ans.push_back(N-1);
    for(int i=0;i<N;++i){
        cout<<(ans[i]+1)<<' ';
    }
}
0