http://codeforces.com/problemset/problem/731/F

其实是暴力枚举,但是有些小技巧,直接保存每个数的数量。

枚举每个起点时,然后依次加上起点大小的分段的数量的值,用前缀和效率很高,并且能巧妙跳过重复元素。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std; int cnt[] = {},n; int main()
{
scanf("%d",&n);
int temp,maxx = ;
while(n--)
{
scanf("%d",&temp);
maxx = max(maxx,temp);
cnt[temp]++;
}
for(int i = ;i <= maxx;i++) cnt[i] += cnt[i-];
long long ans = ,tempmax;
for(int i = ;i <= maxx;i++)
{
if(cnt[i] != cnt[i-])
{
tempmax = ;
for(int j = i;j <= maxx;j += i) tempmax += (long long)j*(cnt[min(j+i-,maxx)]-cnt[j-]);
ans = max(tempmax,ans);
} }
printf("%I64d\n",ans);
return ;
}

Codeforces_731_F的更多相关文章

随机推荐

  1. 一条SQL注入引出的惊天大案

    前情回顾: WAF公司拦截到一个神秘的HTTP数据包,在这个包的表单字段中发现了SQL语句.目标指向80端口,而这正是nginx公司的地盘.详情参见:一个HTTP数据包的奇幻之旅 虚拟机的世界 一个安 ...

  2. 《吊打面试官》系列-ArrayList

    你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和 ...

  3. kubernetes-dashboard部署

    参考资料: kubernetes官方文档 官方GitHub 创建访问用户 解决chrome无法访问dashboard 官方部署方法如下: kubectl apply -f https://raw.gi ...

  4. iscsi,nfs

    存储概述 存储的目标 存储是根据不同的应用环境通过采取合理.安全.有效的方式将数据保存到某些介质上并能保证有效的访问. 一方面它是数据临时或长期驻留的物理媒介. 另一方面,它是保证数据完整安全存放的方 ...

  5. Sql Server学习笔记

    1.指定路径创建数据库 create database student on--创建库的时候必须写 ( name=student, filename='E:\database\student.mdf' ...

  6. 结巴分词 java 高性能实现,是 huaban jieba 速度的 2倍

    Segment Segment 是基于结巴分词词库实现的更加灵活,高性能的 java 分词实现. 变更日志 创作目的 分词是做 NLP 相关工作,非常基础的一项功能. jieba-analysis 作 ...

  7. C#实现的对文件的重命名

    如下C#实现对文件的重命名的方法需要传入三个string类型的参数,分别是源文件的文件目录.目的文件目录和重命名的文件名称,实现代码如下: public ExecutionResult FileRen ...

  8. 云资源中的低成本战斗机——竞价实例,AWS、阿里云等六家云厂商完全用户使用指南

    云端资源价格 预留实例:长期持有,批发路线,价格最便宜. 按需实例:即买即用,零售路线,价格最贵. 这两种资源,基于不同区域/价格的六家云厂商价格对比,连同原始数据文档我们已经打包成了一份电子文档,有 ...

  9. 【LC_Lesson2】---整数反转练习

    题目描述: 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 1 ...

  10. Xmind: ZEN快捷键