记录编号 189377 评测结果 AAAAAAAAAA
题目名称 JSOI 末日传说 最终得分 100
用户昵称 Gravatar四季木哥 是否通过 通过
代码语言 C++ 运行时间 0.047 s
提交时间 2015-09-27 16:05:47 内存使用 0.50 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int a[50050];
int main(){
	freopen("legend.in","r",stdin);
	freopen("legend.out","w",stdout);
    int n, k, sum=0;
    cin >> n >> k;
    int i;
    for(i=1;i<=n;i++){
	    if(sum+i<=k) sum+=i;
	    else break;
	}
    int s=n-i;//当前待插入的元素为s 
    int num=k-sum;//对s生成num个逆序对	 
    int cnt=n;
    for(int j=s;j<s+num;j++)
    	if(!a[cnt])a[cnt--]=j;
    for(int j=s+num+1;j<=n;j++) if(!a[cnt]) a[cnt--]=j;
    a[cnt--]=s+num;
    for(int j=1;j<=cnt;j++) a[j]=j;
    for(int j=1;j<=n;j++)cout << a[j] << " ";
return 0;
}