nyoj 1027 防守阵地 <思维>
来源:互联网 发布:注册淘宝也是支付宝 编辑:程序博客网 时间:2024/05/16 11:34
防守阵地
时间限制:2000 ms | 内存限制:65535 KB
难度:2
- 描述
部队中共有N个士兵,每个士兵有各自的能力指数Xi,在一次演练中,指挥部确定了M个需要防守的地点,按重要程度从低到高排序,依次以数字1到M标注每个地点的重要程度,指挥部将选择M个士兵依次进入指定地点进行防守任务,能力指数为X的士兵防守重要程度为Y的地点将得到X*Y的参考指数。现在士兵们排成一排,请你选择出连续的M个士兵依次参加防守,使得总的参考指数值最大。
- 输入
- 输入包含多组数据。
输入第一行有两个整数N,M(1<=N<=1000000,1<=M<=1000),第二行N个整数表示每个士兵对应的能力指数Xi(1<=Xi<=1000)。 - 输出
- 输出一个整数,为最大的参考指数总和。
- 样例输入
5 32 1 3 1 4
- 样例输出
17
- 上传者
- ACM_张希鹏
代码:
#include<cstdio>#include<algorithm>using namespace std;int shu[1001000];int he[1001000];int main(){ int m,n; while (~scanf("%d%d",&n,&m)) { for (int i=1;i<=n;i++) scanf("%d",&shu[i]); he[0]=0; for (int i=1;i<=n;i++) he[i]=he[i-1]+shu[i]; int s=0,ss=0; for (int i=1;i<=m;i++) s+=i*shu[i]; ss=s; for (int i=m+1;i<=n;i++) { s-=he[i-1]-he[i-m-1]; s+=m*shu[i]; ss=max(ss,s); } printf("%d\n",ss); } return 0;}
0 0
- nyoj 1027 防守阵地 <思维>
- nyoj-1027-阵地防守
- 防守阵地
- FZU2169:防守阵地 I
- 防守阵地 I
- FZU2168 防守阵地 I
- 2171 防守阵地 II
- 防守阵地 II
- FZU2168 防守阵地 I
- FZU_2168_防守阵地I
- FZU2168:防守阵地 I
- 防守阵地 II
- 防守阵地 I
- fzu 防守阵地 1
- 防守阵地 II
- FZU 2168 防守阵地 I
- 防守阵地 I 加强版
- FZU_Problem 2168 防守阵地 I
- 调用相机拍照,处理图片旋转,保存图片
- Struts 关于validator的regex验证
- ios 导航栏,标签栏,工具栏和状态栏
- 在屏幕中实现自动输入文本效果
- 二分搜索法简单分析与总结(转)
- nyoj 1027 防守阵地 <思维>
- java 队列和二叉树代码
- 上传本地代码到github上
- cudaDeviceReset
- linux 操作系统中ping测试网络连通性命令的使用
- android面试专题(9)
- HOJ 1002题 题解
- 开通博客啦
- 【POJ2528】Mayor's Posters-线段树+离散化