0%

第三周:难在分析题目上

2019年4月7日 下午9:32

注:

  1. 这道题真的是:认清问题,三两行代码解决
  2. 思路:
    1. 如果复杂度为O(n),就用一个循环如何解决?
    2. 这时就要求每一个位置,对应的运费是多少—这个就是核心的子问题
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h>
#include<math.h>

int main()
{
int n;
scanf("%d",&n);

long long b,ans=0,need=0;
for(int i=1;i<=n;i++)
{
scanf("%lld",&b);
ans+=fabs(need);
need+=b;
}
printf("%lld",ans);
}