subtask #1 RE,错误信息是aborted/IOT trap
#include<bits/stdc++.h>
using namespace std;
struct bign{//高精度
int n[50000];
int len=1;
void operator*=(int mul){
for(int i=0;i<len;i++)
n[i]*=mul;
len+=3;
for(int i=0;i<len;i++)
if(n[i]>=10){
n[i+1]+=n[i]/10;
n[i]%=10;
}
while(n[len-1]==0)len--;
}
}product;
int main(){
memset(product.n,0,sizeof(product.n));product.n[0]=1;
int n,q=1;cin>>n;
// -------------------intialize-----------------
int tem=sqrt(2*n)+50;
vector<int> a(tem);
for(int i=0;i<tem;i++)
a[i]=i+2;
vector<int> refer(a);
for(int i=1;i<tem;i++)
refer[i]+=refer[i-1];
//-------------------end---------------------
while(n>=refer[q])q++;//w:n<5
for(int i=q-1;n>refer[q-1];i--,n--)
a[i]++;
//------------------cout---------------
for(int i=0;i<q;i++)
{
cout<<a[i]<<" ";
product*=a[i];
}
cout<<endl;
for(int i=product.len-1;i>=0;i--)
cout<<product.n[i];
return 0;
}//2024.12.27