[codeforces 1326B] Maximums 公式推导

Codeforces Global Round 7   比赛人数10630

[codeforces 1326B] Maximums   公式推导

总目录详见https://blog.csdn.net/mrcrack/article/details/103564004

也在线测评地址https://codeforces.ml/contest/1326/problem/B

Problem Lang Verdict Time Memory
B - Maximums GNU C++11 Accepted 93 ms 1400 KB

公式推导过程如下

通式ai=bi+xi

x1=0,a1=b1
x2=max{a1},a2=b2+x2
x3=max{a1,a2},a3=b3+x3
......

AC代码如下

#include <cstdio>
#include <algorithm>
using namespace std;
#define maxn 200010
int a[maxn],b[maxn];
int main(){
	int n,i,x;
	scanf("%d",&n);
	for(i=1;i<=n;i++)scanf("%d",&b[i]);
	a[1]=b[1],x=0;
	for(i=2;i<=n;i++){
		x=max(x,a[i-1]);
		a[i]=b[i]+x;
	}
	for(i=1;i<n;i++)printf("%d ",a[i]);
	printf("%d\n",a[n]);
	return 0;
}
发布了620 篇原创文章 · 获赞 550 · 访问量 46万+

猜你喜欢

转载自blog.csdn.net/mrcrack/article/details/104982372
今日推荐