题目描述 Description

六一儿童节到了,菜菜爸爸带着菜菜来到了游乐园,菜菜可高兴坏了。这不,菜菜看到了一排卖气球的,便吵着闹着要买气球。

不过这些卖气球的也奇怪,他们都站成了一排,而且每个人每次都只卖一定数量的气球,多了不卖,少了也不卖。

菜菜爸爸已经打听好了这N个人每次卖的气球数量,忽然想考考菜菜:只能从连续的若干个人那里买气球,并且气球总数必须是质数,求最大的可行的气球总数。

这个问题可难住了菜菜,他找到了你,请你帮忙计算该从哪个人买到哪个人,气球总数是多少。

输入描述 Input Description

第一行,一个正整数N。

第二行,N个正整数,第i个数表示第i个人每次卖的气球数ni。

输出描述 Output Description

一行,三个正整数l,r,s,分别表示买第l个人到第r个人的气球,总数为s,要求s尽可能大。在有若干个最优解的情况下,输出l最小的一组。数据保证有解。

样例输入 Sample Input

3

1 3 4

样例输出 Sample Output

2 3 7

数据范围及提示 Data Size & Hint

对于10%的数据,有0<N<=20。

对于100%的数据,有0<N<=2000,0<ni<=1000。

  1. #include<cstdio>
  2. #include<iostream>
  3. #define M 2017
  4. #define N 2017000
  5. using namespace std;
  6. int a[M],f[N];
  7. void init()
  8. {
  9. for(int i=;i<N;i++)f[i]=;
  10. for(int i=;i<N;i++)
  11. if(f[i])
  12. for(int j=;i*j<N;j++)
  13. f[i*j]=;
  14. }
  15. int main()
  16. {
  17. init();
  18. int n;
  19. scanf("%d",&n);
  20. for(int i=;i<=n;i++)
  21. {
  22. scanf("%d",&a[i]);
  23. a[i]+=a[i-];
  24. }
  25. int ans=,x,y;
  26. for(int i=;i<=n;i++)
  27. for(int j=i;j<=n;j++)
  28. if(f[a[j]-a[i-]]&&a[j]-a[i-]>ans)
  29. {
  30. ans=a[j]-a[i-];
  31. x=i;
  32. y=j;
  33. }
  34. printf("%d %d %d",x,y,ans);
  35. return ;
  36. }

菜菜买气球(codevs 2851)的更多相关文章

  1. codevs 2851 菜菜买气球

    dp加二分法 链接:http://codevs.cn/problem/2851/ #include<iostream> #include<vector> #include< ...

  2. 【数论】【素数判定】CODEVS 2851 菜菜买气球

    素数判定模板. #include<cstdio> #include<map> using namespace std; ],ans=-,l,r,n,sum[]; bool is ...

  3. 【动态规划】天堂(Heaven) 解题报告

    天堂(heaven) 题目描述 每一个要上天堂的人都要经历一番考验,当然包括小X,小X开始了他进入天堂的奇异之旅.地狱有18层,天堂竟然和地狱一样,也有很多很多层,天堂共有N层.从下到上依次是第1,2 ...

  4. Codevs 3305 水果姐逛水果街Ⅱ 倍增LCA

    题目:http://codevs.cn/problem/3305/  时间限制: 2 s   空间限制: 256000 KB   题目等级 : 钻石 Diamond 题解       题目描述 Des ...

  5. Codevs 3304 水果姐逛水果街Ⅰ 线段树

    题目: http://codevs.cn/problem/3304/   时间限制: 2 s   空间限制: 256000 KB   题目等级 : 钻石 Diamond 题解       题目描述 D ...

  6. CodeVS 3415-最小和

    原题 题目描述 Description      小浣熊松松来到文具店,选择了K支自己喜欢的水彩笔,并抄下了它们的价格.可是到结算时,他发现自己抄价格时抄得太密集,以至于所有价格连成了一个数字串(你可 ...

  7. [codevs]1060搞笑世界杯

    CODEVS上一道钻石题,还是DP的思想,先来题目 1060 搞笑世界杯 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description ...

  8. codevs 2147 数星星

    2147 数星星 http://codevs.cn/problem/2147/ 题目描述 Description 小明是一名天文爱好者,他喜欢晚上看星星.这天,他从淘宝上买下来了一个高级望远镜.他十分 ...

  9. codevs 1060 搞笑运动会 dp

    1060 搞笑世界杯 Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codevs.cn/problem/1060/ Description ...

随机推荐

  1. POJ3784 Running Median

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1670   Accepted: 823 Description For th ...

  2. TYVJ1038 忠诚

    hzw学长博客里的2048,根本停不下来! 描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要 求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意. ...

  3. C#用UPnP穿透内网

    参考了网上的一篇文章,由于时间长了,具体地址不知道了. 引入了一个DLL: Interop.NATUPNPLib.dll,实现穿透局域网,进行Socket通信. using System; using ...

  4. Opencv加载和显示图片

    #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <ios ...

  5. poj1787Charlie's Change(多重背包+记录路径+好题)

    Charlie's Change Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3720   Accepted: 1125 ...

  6. POJ1860Currency Exchange(Bellman + 正权回路)

    Currency Exchange Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 23938   Accepted: 867 ...

  7. JDK,JRE,JVM区别与联系(ZZ)

    http://www.cnblogs.com/hencehong/p/3252166.html 我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JD ...

  8. 爬虫的自我解剖(抓取网页HtmlUnit)

    网络爬虫第一个要面临的问题,就是如何抓取网页,抓取其实很容易,没你想的那么复杂,一个开源`HtmlUnit`包,4行代码就OK啦,例子如下: final WebClient webClient=new ...

  9. 陷阱~EF中的Update与Insert共用一个数据上下文

    事情是这样的,有一个列表,里面有很多用户信息,可能会有重复的用户,将这个列表的用户插入到数据表中,如果用户已经存在,就更新这个用户的FillTimes 字段,让它加1,使用的底层ORM是entity ...

  10. SQL例题合集

    1. 查询Student表中的所有记录的Sname.Ssex和Class列. Select sname,ssex,class from student; 2. 查询教师所有的单位即不重复的Depart ...