滴滴餐桌问题题目有问题

一组人能不能分两桌?
全部评论
你把给的样例按照拆桌的思路凑一下就会发现:不能。
点赞 回复 分享
发布于 2016-09-06 20:47
不能=。=
点赞 回复 分享
发布于 2016-09-06 20:31
只通过了百分之四十,不知道问题在哪里
点赞 回复 分享
发布于 2016-09-06 20:57
我cout<<ans<<endl说我超出内存,改成cout<<20<<endl,就可以过一个case。。。醉了。。什么鬼
点赞 回复 分享
发布于 2016-09-06 20:59
只通过了20%。。 最后想到问题在哪里了也就没时间。。
点赞 回复 分享
发布于 2016-09-06 21:01
坑爹……我数组哨兵值换成0,-1,和MIN_VALUE都能有不同的通过率,根本不可能嘛
点赞 回复 分享
发布于 2016-09-06 21:01
不能拆,也不能拼
点赞 回复 分享
发布于 2016-09-06 21:01
过了。。。
点赞 回复 分享
发布于 2016-09-06 21:02
//能通过的啊! #include<stdio.h> #include<stdlib.h> #include<iostream> using namespace std; void  findMaxSum(int *a,int n) {     if (a == NULL || n <= 0)         return;      int maxSum = a[0];     int currsum = 0;     int i = 0;     for (i = 0;i < n;i++)     {         //currsum += a[i];         if (currsum < 0)         {         //    i = i+1;             currsum = a[i];         }         else         {                          currsum += a[i];         //    i = i+1;         }         if (currsum > maxSum)             maxSum = currsum;     }     cout << maxSum << endl; } int main() {    int Len = 0;    while (scanf("%d",&Len) != EOF)    {                int *a = new int[Len];        for (int i = 0;i < Len;i++)            a[i] = 0;        for (int i = 0;i < Len;i++)            cin >> a[i];        findMaxSum(a,Len);        delete[] a;    }     return 0; }
点赞 回复 分享
发布于 2016-09-06 21:02
我倒是觉得第一题有点不知道为什么。。
点赞 回复 分享
发布于 2016-09-06 21:02
90%是lld的原因,超过int范围了
点赞 回复 分享
发布于 2016-09-06 21:06

相关推荐

10-30 22:18
已编辑
毛坦厂中学 C++
点赞 评论 收藏
分享
10-15 03:05
门头沟学院 Java
CADILLAC_:凯文:我的邮箱是死了吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务