Modulo Summation atcoder abc103
Posted 要坚持写博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Modulo Summation atcoder abc103相关的知识,希望对你有一定的参考价值。
题意,求f(m)的最大值,f(m)=(m mod a1)+(m mod a2)+…+(m mod an)。
思路:想一想我们要求f(m)的最大值,那我们是不是要满足每一个数都能取到最大值。每个位置的最大值就是自己此数-1,(所以我由此入坑,人呆滞了点,居然想到去求所有数最小公倍数-1再mod,成功炸掉)。因为维护想要的东西都是一个,根本每不要求最小公倍数!!!
代码如下:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<map>
#include<iostream>
#include<cmath>
#include<queue>
#include<vector>
#define IOS ios::sync_with_stdio(false);cin.tie();cout.tie(0)
using namespace std;
typedef long long ll;
const int N=5e5+100;
const int maxn=110;
map<string,int> q;
string str;
ll a[3010];
int main()
{
IOS;
ll n;
cin>>n;
ll max1=1,sum=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
sum+=a[i]-1;
}
cout<<sum<<endl;
return 0;
}
以上是关于Modulo Summation atcoder abc103的主要内容,如果未能解决你的问题,请参考以下文章
AtCoder - 3962 Sequence Growing Hard
Kata Daily 191010Grasshopper - Summation(加总)