1 条题解
-
0
#include <bits/stdc++.h> using namespace std; int s,a[1005],u[1005]; int find(int x) { int ans=0; for(int i=1;i<x;i++) { if(x%i==0) ans+=i; } return ans; } int main() { cin>>s; for(int i=1;i<=s;i++) a[i] = find(i); for(int i=1;i<=s;i++) { for(int j=s;j>=i;j--) { u[j]=max(u[j],u[j-i]+a[i]); } } cout<<u[s]; return 0; } ``` `
- 1
信息
- ID
- 3276
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 21
- 已通过
- 15
- 上传者