http://acm.fzu.edu.cn/problem.php?pid=2168

最重要的是 dp[k]=dp[k-1]-ans[k-1]+x[i]*m;

ans[k-1]是m个数求和。

 Problem 2168 防守阵地 I

Accept: 14    Submit: 20 Time Limit: 3000 mSec    Memory Limit : 32768 KB

Problem Description

部队中共有N个士兵,每个士兵有各自的能力指数Xi,在一次演练中,指挥部确定了M个需要防守的地点,按重要程度从低到高排序,依次以数字1到M标注每个地点的重要程度,指挥部将选择M个士兵依次进入指定地点进行防守任务,能力指数为X的士兵防守重要程度为Y的地点将得到X*Y的参考指数。现在士兵们排成一排,请你选择出连续的M个士兵依次参加防守,使得总的参考指数值最大。

Input

输入包含多组数据。

输入第一行有两个整数N,M(1<=N<=1000000,1<=M<=1000),第二行N个整数表示每个士兵对应的能力指数Xi(1<=Xi<=1000)。

对于30%的数据1<=M<=N<=1000。

Output

输出一个整数,为最大的参考指数总和。

Sample Input

5 3
2 1 3 1 4

Sample Output

17
 #include<stdio.h>
int dp[],x[],ans[];
int main()
{
int n,m,k,max;
int i,j;
while(~scanf("%d%d",&n,&m))
{
k=;
ans[]=;dp[]=;
for(i=;i<=n;i++)
{
scanf("%d",&x[i]);
if(i<=m)
{
ans[k]+=x[i];
dp[k]+=i*x[i];
max=dp[k];
}
else
{
k++;
ans[k]=ans[k-]-x[i-m]+x[i];
dp[k]=dp[k-]-ans[k-]+x[i]*m;
if(max<dp[k])
max=dp[k];
}
} printf("%d\n",max);
}
return ;
}
 

福州大学 Problem 2168 防守阵地 I的更多相关文章

  1. FZU Problem 2168 防守阵地 I

    http://acm.fzu.edu.cn/problem.php?pid=2168 题目大意: 给定n个数和m,要求从n个数中选择连续的m个,使得a[i]*1+a[i+1]*2+--a[i+m]*m ...

  2. FZU 2168 防守阵地 I(公式推导)(经典)(中等)

    Problem 2168 防守阵地 I Accept: 377    Submit: 1280 Time Limit: 3000 mSec    Memory Limit : 32768 KB  Pr ...

  3. FZU_Problem 2168 防守阵地 I

    Problem 2168 防守阵地 I Accept: 128 Submit: 392 Time Limit: 3000 mSec Memory Limit : 32768 KB Problem De ...

  4. FZU 2168 防守阵地 I

    Problem Description 部队中共有N个士兵,每个士兵有各自的能力指数Xi,在一次演练中,指挥部确定了M个需要防守的地点,按重要程度从低到高排序,依次以数字1到M标注每个地点的重要程度, ...

  5. FZU Problem 2171 防守阵地 II (线段树区间更新模板题)

    http://acm.fzu.edu.cn/problem.php?pid=2171 成段增减,区间求和.add累加更新的次数. #include <iostream> #include ...

  6. FZU 2168 防守阵地 I(前n项和的前n项和)

    这是一道很容易超时的题,我超了n次了,后来队友提示我才想到,bigsum ! ! ! !就是前n项和的前n项和 #include<iostream> #include<cstdio& ...

  7. fzu 2171 防守阵地 II

    Problem 2171 防守阵地 II Accept: 31    Submit: 112Time Limit: 3000 mSec    Memory Limit : 32768 KB  Prob ...

  8. FZU2168——防守阵地 I——————【找规律或前缀和】

    防守阵地 I Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  9. FZU2171:防守阵地 II(线段树)

     Problem Description 部队中总共同拥有N个士兵,每一个士兵有各自的能力指数Xi.在一次演练中,指挥部确定了M个须要防守的地点,指挥部将选择M个士兵依次进入指定地点进行防守任务.获得 ...

随机推荐

  1. Usaco 2010 Dec Gold Exercise(奶牛健美操)

    /*codevs 3279 二分+dfs贪心检验 堆版本 re一个 爆栈了*/ #include<cstdio> #include<queue> #include<cst ...

  2. JS(一)

    额, 写了一堆, 待机win8崩溃, 重启之后只剩光秃秃的界面, 以后再填吧, 下次一定要一口气把博客写完,中间不能放下干其他事. 1.对象,以及对象与方法联合: var bob = new Obje ...

  3. 使用PHP实现蜘蛛访问日志统计

    $useragent = addslashes(strtolower($_SERVER['HTTP_USER_AGENT'])); if (strpos($useragent, 'googlebot' ...

  4. 用WebStorm调试本地html(含嵌入的javascript).

    题外话: 以前很少能调试,甚至以为不能调试(好笨),后来我看了一本叫做<<Learning Three.js>>的一本书后,里面推荐有几种javascript的编辑工具,都蛮好 ...

  5. PHP上传原理及应用

    概要 1.FORM表现enctype属性 2.$_FILES系统函数 3.move_uploaded_file函数 4.is_uploaded_file函数 1.FORM标签的enctype属性 只有 ...

  6. UITableViewCell 上的按钮点击事件

     以前做tableViewCell的button点击事件,总是建立一个全局的可变数组,把data放在数组里,点击获取button的tag值,根据tag从数组了里取data. 其实,如果section只 ...

  7. iOS多线程的初步研究(八)-- dispatch队列

    GCD编程的核心就是dispatch队列,dispatch block的执行最终都会放进某个队列中去进行,它类似NSOperationQueue但更复杂也更强大,并且可以嵌套使用.所以说,结合bloc ...

  8. jQuery 删除元素

    通过 jQuery,可以很容易地删除已有的 HTML 元素. 删除元素/内容 如需删除元素和内容,一般可使用以下两个 jQuery 方法: remove() - 删除被选元素(及其子元素) empty ...

  9. 【HOJ2430】【贪心+树状数组】 Counting the algorithms

    As most of the ACMers, wy's next target is algorithms, too. wy is clever, so he can learn most of th ...

  10. Asp.net GridView 72般绝技

    快速预览:GridView无代码分页排序GridView选中,编辑,取消,删除GridView正反双向排序GridView和下拉菜单DropDownList结合GridView和CheckBox结合鼠 ...