比赛 20140307 评测结果 AAAATATTTTT
题目名称 最优挤奶法 最终得分 45
用户昵称 ranto 运行时间 6.987 s
代码语言 C++ 内存使用 0.62 MiB
提交时间 2014-03-07 19:55:16
显示代码纯文本
#include <fstream>

using namespace std;

ifstream in("optmilk.in");
ofstream out("optmilk.out");

long n;
long m[40001];
long d;
long f[40001];
long u, k;
long long ans(0);

long long dp(long start);

int main()
{
	in>> n;
	in>> d;
	for(long i=1; i!=n+1; ++i)
	{
		in>> m[i];
	}
	dp(1);
	for(long i=1; i!=d+1; ++i)
	{
		in>> k>> u;
		m[k]=u;
		ans+=dp(k);
	}
	out<< ans<< endl;
	return 0;
}

long max(long a, long b)
{
	return a>b?a:b;
}

long long  dp(long start)
{
	if(start<3)
	{
		f[1]=m[1];
		f[2]=max(m[1], m[2]);
	}
	for(long i=3; i!=n+1; ++i)
	{
		f[i]=max(f[i-2], f[i-3])+m[i];
	}
	return max(f[n], f[n-1]);
}