結果

問題 No.1635 Let’s Sort Integers!!
コンテスト
ユーザー publfl
提出日時 2021-07-30 22:37:34
言語 C++14
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=c++14 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 631 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 356 ms
コンパイル使用メモリ 41,148 KB
実行使用メモリ 7,972 KB
最終ジャッジ日時 2026-04-05 05:19:25
合計ジャッジ時間 10,184 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 51 WA * 26
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <stdio.h>

int a;
long long int b;
int ans[1000010];
void func(int k, int type, int L, int R)
{
	if(k>a) return;
	if(type==1)
	{
		if(R-L+1 + R-L <= b)
		{
			b -= (R-L+1);
			ans[k] = R;
			func(k+1,2,L,R-1);
		}
		else
		{
			b--;
			ans[k] = L;
			func(k+1,1,L+1,R);
		}
	}
	else
	{
		if(R-L+1 + R-L <= b)
		{
			b -= (R-L+1);
			ans[k] = L;
			func(k+1,1,L+1,R);
		}
		else
		{
			b--;
			ans[k] = R;
			func(k+1,2,L,R-1);
		}
	}
}

int main()
{
	scanf("%d%lld",&a,&b);
	if(b<a-1)
	{
		printf("-1");
		return 0;
	}
	ans[1] = 1;
	func(2,1,2,a);
	if(b>0) printf("-1");
	else for(int i=1;i<=a;i++) printf("%d ",ans[i]);
}
0