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
 - 标签
 - 递交数
 - 25
 - 已通过
 - 17
 - 上传者