Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
135291 | 黄恩宁 | 最优分解 | C++ | 解答错误 | 60 | 0 MS | 252 KB | 764 | 2024-03-04 21:30:12 |
#include<iostream> #include<cstdio> using namespace std; const int NR=210; int cnt=0,a[NR]; void func(int x) { //cout<<x<<endl; int i,j; for(i=2;x>i;i++) { //cout<<i<<" "; a[++cnt]=i; x-=i; } //cout<<endl; a[cnt]+=x; //for(i=1;i<=cnt;i++) cout<<a[i]<<" "; while(a[cnt]-a[1]-cnt*2+1>=0) { for(j=1;j<=cnt-1;j++) a[j]++; a[cnt]-=(cnt-1); } i=2; while(a[cnt]-a[i]-(cnt-i+1)*2+1>=0) { for(j=i;j<=cnt-1;j++) a[j]++; a[cnt]-=(cnt-i); } //for(i=1;i<=cnt;i++) cout<<a[i]<<" "; //cout<<cnt<<endl; return; } int main() { int n,i; long long ans=1; cin>>n; func(n); //cout<<cnt<<endl; //for(i=1;i<=cnt;i++) cout<<a[i]<<"###"; for(i=1;i<=cnt;i++) ans=1ll*ans*a[i]; cout<<ans<<endl; return 0; }