1 条题解
-
0
C :
#include<stdio.h> #define max(a,b) (a>b?a:b) int n; int a,b,c,x[100010]; long long f[100010][2]; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&x[i]); f[1][1]=x[1];f[1][0]=0; for(int i=2;i<=n;i++) { f[i][1]=f[i-1][0]+x[i]; f[i][0]=max(f[i-1][0],f[i-1][1]); } printf("%lld",max(f[n][1],f[n][0])); return 0; }
C++ :
#include<bits/stdc++.h> using namespace std; int a[51],f[51]; int main(){ int n,i; cin>>n; for(i=1;i<=n;i++){ cin>>a[i]; } f[1] = a[1]; f[2] = a[2]; for(i=3;i<=n;i++){ f[i] = max(f[i-2],f[i-3]) + a[i]; } cout<<max(f[n-1],f[n]); return 0; }
- 1
信息
- ID
- 2591
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者