现给定n个整数,并定义一个非负整数m,且令f(m) = (m%a1)+(m%a2)+...+(m%an)。
此处的X % Y的结果为X除以Y的余数。
现请你找出一个m,求出f(m)的最大值。
输入包含两行,第一行为一正整数n,(1<n<=3000)
第二行为n个整数a1,a2,...,an ,其中(2<=ai<=10^5)
输出仅包含一行,输出f(m)的最大值
3 3 4 6
10
就样例而言,当m取11时可取得最大值。
_, arr = input(), [int(x) - 1 for x in input().strip().split(' ')] print(sum(arr))
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner input = new Scanner(System.in); int n = input.nextInt(); int[] a = new int[n]; int sum = 0; for (int i=0;i<n;i++) { a[i] = input.nextInt(); sum = sum + a[i]; } System.out.println(sum-n); } }
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine().trim()); String[] strArr = br.readLine().trim().split(" "); // m%ai的最大值就是ai-1,如果m+1为所有ai的最小公倍数,就可以使得所有的ai被m+1整除,m能使m%ai=ai-1对任意i都成立 int maxValue = 0; for(int i = 0; i < n; i++) maxValue += Integer.parseInt(strArr[i]) - 1; System.out.println(maxValue); } }
// 找规律 #include<bits/stdc++.h> using namespace std; int main() { int n = 0; cin >> n; int sum = 0; int x = 0; for (int i=0; i<n; ++i) { cin >> x; sum += x; } cout << sum - n <<endl; return 0; }
//这道题的难点就在于找规律 根据例题可以看到 3 4 6分别对11的模式 2 3 5 // 也就是自身-1 ;然后我还试了一下,发现可以找这三个数的公倍数 也就是12 发现12的时候都是0,13的时候都是1!!! // 所以在12-1 ,11的时候为最大,也就是自身-1.也就得出 最大值=总数-个数 也就是3+4+6-3=10 var n=parseInt(readline()); var arr=readline().split(' ').map(Number); print(arr.reduce((a,b)=> a+b)-n);
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int result = 0; for (int i = 0; i < n; i++) { result += in.nextInt(); result--; } System.out.println(result); } }
class MainActivity: def main(self): # Read the data n = int(input()) nums = list(map(int, filter(lambda x: len(x) > 0, input().split(' ')))) # Get the result print(sum(nums) - n) if __name__ == '__main__': M = MainActivity() M.main()
#include <iostream> using namespace std; int main(){ int n,t; int i; int f=0; cin>>n; for(i=0;i<n;++i){ cin>>t; f+=t; } cout<<f-n; }