65,211
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <fstream>
using namespace std;
int data[200];
int datacnt;
int maxsum(int *p, int n)
{
if(n <= 0) return 0;
else if(n == 1) return *p;
else if(n == 2)
{
if(*p > *(p+1)) return *p;
else return *(p+1);
}
else
{
int sum1, sum2;
sum1 = *p + maxsum(p+2, n-2);
sum2 = *(p+1) + maxsum(p+3, n-3);
if(sum1 > sum2) return sum1;
else return sum2;
}
}
int main()
{
ifstream fin("data.txt");
fin>>datacnt;
int i;
for(i=0; i<datacnt; i++) fin>>data[i];
int ms = maxsum(data, datacnt);
cout<<ms<<endl;
fin.close();
system("pause");
return 0;
}