题目链接 问题 E: zz’s math problem Ⅱ
时间限制: 3 Sec 内存限制: 32 MB
提交: 91 解决: 41
题目描述
zz作为一个数学盲也认为这个数学题真的很简单, 学弟学妹们终于可以顺利签到了qwq
给出NN 个正整数a1,a2,...,aNa1,a2,...,aN ,
我们寻找一个这个表达式的最大的值 f(m)=(m mod a1)+(m mod a2)+...+(m mod aN)f(m)=(m mod a1)+(m mod a2)+...+(m mod aN)
modmod 的意思即为A/BA/B 的余数
输入
第11 行输入T(1≤T≤20)T(1≤T≤20) 组数据
第22 行输入N(1≤N≤1e3)N(1≤N≤1e3)
第33 行输入nn 个数字ai(1≤ai≤1e5)ai(1≤ai≤1e5) ,
输出
输出 ff 的最大值
样例输入
1
3
3 4 6
样例输出
10
提示
f(11)=(11 mod 3)+(11 mod 4)+(11 mod 6)f(11)=(11 mod 3)+(11 mod 4)+(11 mod 6) 的值1010 就是函数的最大值
思路:最大值只能是数组各项-1总和(贪心思想,一定能找到这个值)
代码:
#include<iostream>
#include<cstdio>
using namespace std;
int k[1005]={0};
long long int m;
int main()
{
int t,n;
scanf("%d",&t);
while(t--){
m=0;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&k[i]);
m=k[i]-1+m;
}
cout<<m<<endl;
}
}