Codeforces 467C George and Job
来源:互联网 发布:ubuntu常用软件推荐 编辑:程序博客网 时间:2024/06/10 12:36
time limit per test
1 secondmemory limit per test
256 megabytesinput
standard inputoutput
standard outputThe new ITone 6 has been released recently and George got really keen to buy it. Unfortunately, he didn't have enough money, so George was going to work as a programmer. Now he faced the following problem at the work.
Given a sequence of n integers p1, p2, ..., pn. You are to choose k pairs of integers:
in such a way that the value of sum is maximal possible. Help George to cope with the task.
Input
The first line contains three integers n, m and k (1 ≤ (m × k) ≤ n ≤ 5000). The second line contains nintegers p1, p2, ..., pn (0 ≤ pi ≤ 109).
Output
Print an integer in a single line — the maximum possible value of sum.
Sample test(s)
input
5 2 11 2 3 4 5
output
9
input
7 1 32 10 7 18 5 33 0
output
61
题解
dp。用一个前缀和优化即可。
#include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring>#define ll long longusing namespace std; int n,m,K;ll sum[5002],f[5002][5002];void init(){scanf("%d%d%d",&n,&m,&K);int i; ll x;for(i=1;i<=n;i++) {scanf("%I64d",&x); sum[i]=sum[i-1]+x;}}void dp(){int i,j;//ll ans;for(i=1;i<=n;i++)for(j=1;j<=K;j++) {if(j*m>i) continue; f[i][j]=max(f[i][j],f[i-1][j]); f[i][j]=max(f[i][j],f[i-m][j-1]+sum[i]-sum[i-m]); //ans=max(ans,f[i][j]); }printf("%I64d\n",f[n][K]);}int main() {init(); dp();return 0;}
0 0
- Codeforces 467C. George and Job
- Codeforces 467C George and Job
- codeforces 467C George and Job dp
- Codeforces 467C George and Job(dp)
- codeforces 467C - George and Job
- Codeforces 467 C. George and Job
- Codeforces 467C George and Job(dp)
- Codeforces 467C George and Job(dp)
- codeforces-467C-George and Job【dp】
- CodeForces - 467C George and Job
- [CodeForces 467C]George and Job[DP]
- CodeForces 467C George and Job
- Codeforces 467C George and Job DP
- Codeforces 467C George and Job(dp)
- 【CODEFORCES】 C. George and Job
- Codeforces 467C George and Job【dp】好题~
- Codeforces 467C George and Job(动态规划)
- codeforces 467-C. George and Job(前缀和+dp)
- Codeforces 467B Fedor and New Game
- 图解TCP
- uva 573 The Snail
- 代码面试题:Count ones in binary
- implements KeyListener了按键监听却监听不到
- Codeforces 467C George and Job
- Linux常用命令大全
- hdu 4037 Development Value(线段树维护数学公式)
- 动态规划中的钢条切割的介绍与理解(自顶向下递归和自底向上递归四种包含C源代码)
- 给大家推荐一个不错的学习论坛-炼数成金 大家可以使用我的邀请码S309
- python中的装饰器
- Wing IDE 5.0快捷键
- 社会情商的一个角度
- libpcap 在Android 上抓包,实时分析的思路及实现