携程328笔试t3代码

刚好保存了t3的代码,t4不会

当区间和大于等于0就可以直接抛弃了,因为最小的区间的左区间一定不会大于等于0

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int n; cin >> n;
    vector<int> nums;
    long long ans = 0;
    for (int i = 0; i < n; ++i) {
        int t; cin >> t;
        nums.push_back(t);
        ans += t;
    }
    int left = 0, right = 0;
    long long tsum = 0;
    long long minum = 0;
    while (right < n) {
        if ((nums[right] & 1) == 1 || tsum + nums[right] >= 0) {
            right++;
            left = right;
            tsum = 0;
        } else {
            tsum += nums[right];
            minum = min(minum, tsum);
            right++;
        }
        //cout << tsum;
    }
    cout << ans - (minum / 2);

    return 0;
}

全部评论

相关推荐

Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
只有一个苍穹外卖外加正在看黑马点评,可以找小厂实习吗,还有我的简历有什么大问题吗
Java抽象小篮子:感觉有点熟悉,问题1是学历,2是没实习经历,3是专业技能写得太少太少了(怎么写可以看我置顶帖),4是仅这一个项目找实习不够看。拷打完毕,简历怎么写可以看我置顶帖子
点赞 评论 收藏
分享
评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务