set+贪心

感觉当div2C挺好的...

set维护前缀和%m,当前答案为sum[r]-sum[l-1],我们当然希望sum[l-1]是sum[r]的后继或者最小的数,所以求出来比较一下就行了

#include<bits/stdc++.h>
using namespace std;
int n;
long long ans = -(1ll << ), sum, m;
set<long long> s;
int main()
{
cin >> n >> m;
s.insert();
for(int i = ; i <= n; ++i)
{
long long x;
scanf("%lld", &x);
sum = ((sum + x) % m + m) % m;
set<long long> :: iterator it = s.upper_bound(sum);
if(it != s.end()) ans = max(ans, ((sum - *it) % m + m) % m);
ans = max(ans, (sum - *(s.begin()) + m % m) % m);
s.insert(sum);
}
cout << ans << endl;
return ;
}

bzoj3544的更多相关文章

  1. 【BZOJ3544】[ONTAK2010]Creative Accounting 前缀和+set

    [BZOJ3544][ONTAK2010]Creative Accounting Description 给定一个长度为N的数组a和M,求一个区间[l,r],使得(\sum_{i=l}^{r}{a_i ...

  2. BZOJ3544 [ONTAK2010]Creative Accounting

    看不懂题,就不能写的稍微像人话点吗我去... 题目就是要找一段区间使得Σai mod m的值最大. 于是嘛...前缀和一下再贪心就好了. 先求出前i个数的前缀和s,然后用s更新解. 还有可能就是前面的 ...

  3. 【bzoj3544】[ONTAK2010]Creative Accounting 前缀和+STL-set

    题目描述 给定一个长度为N的数组a和M,求一个区间[l,r],使得$(\sum\limits_{i=l}^{r}{a_i})\ mod\ M$的值最大,求出这个值,注意这里的mod是数学上的mod(即 ...

  4. noip知识点总结之--贪心

    一.什么是贪心 贪心算法嘛... 就是在对某个问题求解时,总是做出在当前看来是最好的选择 In other wors,并不是从整体最优上加以考虑,而是在获得某种意义上的局部最优解 二.贪心算法的适用前 ...

  5. [转载]hzwer的bzoj题单

    counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ120 ...

  6. BZOJ刷题列表【转载于hzwer】

    沿着黄学长的步伐~~ 红色为已刷,黑色为未刷,看我多久能搞完吧... Update on 7.26 :之前咕了好久...(足见博主的flag是多么emmm......)这几天开始会抽时间刷的,每天几道 ...

随机推荐

  1. POJ3041:Asteroids【二分图匹配】

    二分图的最大匹配=最小顶点覆盖(Konig定理)=最大独立集的补集最大匹配经典的三种模型  这题就是最小顶点覆盖,顺便这题留给我的经验就是调试的时候一定要细心细心再细心对模板的各个细节都要熟!! #i ...

  2. selenide01---截图

    1.junit:import com.codeborne.selenide.junit.ScreenShooter; @Rule public ScreenShooter makeScreenshot ...

  3. [转]Android SDK下载和更新失败的解决方法

    今天更新sdk,遇到了更新下载失败问题: Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xmlFetched ...

  4. php桥接模式

    php桥接模式 桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化. 示例:当一个信息时根据发送渠道分为:QQ消息.email消息.短信消息等根据消息类型分为:普通.警告.危急等每种消息都 ...

  5. vagrant的学习 之 Laravel

    vagrant的学习 之 Laravel 本文根据慕课网的视频教程练习,感谢慕课网! 慕课视频学习地址:https://www.imooc.com/video/14218. 慕课的参考文档地址:htt ...

  6. [Bzoj1499][NOI2005]瑰丽华尔兹[简单DP]

    1499: [NOI2005]瑰丽华尔兹 Time Limit: 3 Sec  Memory Limit: 64 MBSubmit: 1714  Solved: 1042[Submit][Status ...

  7. F - The Minimum Length

    F - The Minimum Length HUST - 1010 #include<cstdio> #include<cstring> #include<iostre ...

  8. eclipse工程设置项目jre

    Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.当我们导入已经存在项目或者通过svn引入项目时经常出现红叉叉的情 ...

  9. lemon oa前端页面——由user-base-list谈项目组织

    content user-base-list.jsp中指定<%pageContext.setAttribute("currentHeader", "user&quo ...

  10. 【c++】动态内存

    静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.它主要存放静态数据.全局数据和常量.注意:const常量在定义时必须初始化 栈区:在执行函数时,函数内局部变量的存储单 ...