Source
nowcoder contest625 I
这道题本身也许没什么好分析的,下面是我的代码
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int N;
long long arr[600];
scanf("%d",&N);
for (int i = 0; i < N; i++) {
scanf("%lld",&arr[i]);
}
long long ans = 0;
for (int i = 0; i < N-1; i++) {
if (arr[i + 1] > arr[i]) {
ans += arr[i + 1] - arr[i];
}
}
printf("%lld\n",ans);
return 0;
}
但是看过答案代码之后,发现了不少东西
答案代码:
#include<bits/stdc++.h>
using namespace std;
#define mem(a,b) memset(a,b,sizeof(a))
#define REP(i,a,b) for(int i=a; i<=b; ++i)
#define PER(i,a,b) for(int i=a; i>=b; --i)
typedef long long LL;
typedef double DB;
const int maxn = 5e5;
const int maxV = 1e6;
int n, ai[maxn+5];
int main() {
scanf("%d", &n);
LL ans = 0;
REP(i,1,n) scanf("%d", ai+i);
REP(i,2,n) if(ai[i]>ai[i-1]) ans += ai[i]-ai[i-1];
printf("%lld\n", ans);
return 0;
}
- <bits/stdc++.h>是万能头文件,包含了目前c++所包含的所有头文件,所以,以后都可以只写这个头文件啦,language选择g++,但是,并不是所有oj都支持它就是了
- 那3个#define 的内容以后都可以在赛前写好放进去,提升码字效率嘛
- 原来500000可以直接写成5e5,而且定义成const全局变量也是有好处的
- 真的要多看大佬代码