2025-10-31 20:36:03
发布于:上海
#include<iostream>
#include<limits>
int n,a[2001];
long long ans{std::numeric_limits<long long>::min()};
void dfs(const int&x,const long long&y,const int&z){
if(x==n){
ans=std::max(ans,y);
return;
}
if(z<x-z)dfs(x+1,y+a[x],z+1);
dfs(x+1,y-a[x],z);
}
int main(){
std::cin >> n;
for(int i{0};i<n;++i)std::cin >> a[i];
dfs(0,0,0);
std::cout << ans;
return 0;
}
值得注意的是,在任意时间段里,写作业的时间段数不会超过休息的时间段数
我就先扔这儿了,希望有人能AC
这里空空如也






有帮助,赞一个