数学结论:
(1)a%b的最大值是b-1;
(2)f(m)=m%a1 + m%a2 +......+ m%an 的最大值是(a1-1) +......+(an-1)。
输入包含两行,第一行为一正整数n,(1<n<=3000)第二行为n个整数a1,a2,...,an ,其中(2<=ai<=10^5)
输出仅包含一行,输出f(m)的最大值
3 3 4 6
10
就样例而言,当m取11时可取得最大值。
#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; int x,s=0; for(int i=0;i<n;i++) { cin>>x; s+=x; } cout<<s-n<<endl; return 0; }
模数求和
原文:https://www.cnblogs.com/dragondragon/p/13365699.html