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(加总)

zoj 2095 Divisor Summation

Summation of primes

HDU - 6027 Easy Summation(快速幂)解题

hdu6027Easy Summation(快速幂取模)