标签:
#include<stdio.h> #include<iostream> using namespace std; const int N=700005; int n,i,a[N]; long long f[2][N]; int main() { scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=n;i>=1;i--) { f[0][i]=f[0][i+1]; f[1][i]=f[1][i+1]; if(f[1][i+1]+a[i]>=f[0][i])//注意一下等于 { f[0][i]=f[1][i+1]+a[i]; f[1][i]=f[0][i+1]; } } cout<<f[0][1]<<‘ ‘<<f[1][1]; return 0; }
优化版:
#include<stdio.h> #include<iostream> using namespace std; const int N=700005; int n,i,a[N]; long long t,x,y; int main() { scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=n;i>=1;i--) if(y+a[i]>=x) { t=x; x=y+a[i]; y=t; } cout<<x<<‘ ‘<<y; return 0; }
bzoj 1783: [Usaco2010 Jan]Taking Turns
标签:
原文地址:http://www.cnblogs.com/lwq12138/p/5638796.html