滴滴2016 笔试题 编程题1 求路过的大神指教
来源:互联网 发布:安阳日报社 网络投稿 编辑:程序博客网 时间:2024/05/20 05:08
一个餐馆,有m张桌子,每张桌子有各自的人数限制,假设某个时段来了n批客人,每批有人数,及愿意消费的金额,不接受拼桌,问 如何选择一些客人,使得收益最大化
如
输入
3 5 (3张桌子,5批客人)
2 4 2 (3张桌子 各自的人数)1 3 (第1批,1个人,愿意消费3元)
3 5 (第2批,1个人,愿意消费3元)
3 7
5 9
1 10
输出
20
3 4
2 2 4
1 9
1 10
2 11
3 7
输出30
下面代码 超时了么? 本地运行可以,提交上去之后,却是 “数组越界,栈溢出,等问题......”
求路过的大神指教
-------------------------------------------------------本地VS运行----------------------------------------------
#include<iostream>#include<algorithm>using namespace std;int main() { int m,n; cin>>n>>m;int *a=new int[n];int b[50001][3];memset(b,0,50001*3);int i;for(i=0;i<n;i++)cin>>a[i];for(i=0;i<m;i++){cin>>b[i][0]>>b[i][1];}sort(a,a+n);int j;for(i=0;i<m;i++){for(j=0;j<n;j++)if(b[i][0]<=a[j]){b[i][2]=a[j];break;}}for(j=0;j<n;j++)//3 desks{int max=-1;int k=0;for(i=0;i<m;i++)if(b[i][2]==a[j]){ if(b[i][1]>max && b[i][2]!=-1 && b[i][2]!=0){max=b[i][1]; k=i;//ji zhu //cout<<"max: k:"<<max<<" "<<k<<endl;}} for(i=0;i<m;i++) if(b[i][2]==a[j]){ //cout<<"k:"<<k; if(i==k)b[i][2]=-1;// used else { if(j!=n-1)b[i][2]=a[j+1]; } } cout<<endl; for(i=0;i<m;i++){cout<<b[i][0]<<" "<<b[i][1]<<" "<<b[i][2]<<endl;}cout<<endl; } int sum=0;for(i=0;i<m;i++)if(b[i][2]==-1)sum+=b[i][1];cout<<sum<<endl; system("pause"); return 0;}
0 0
- 滴滴2016 笔试题 编程题1 求路过的大神指教
- 滴滴笔试第一题xor(参考大神的)
- 2017滴滴秋招笔试编程题-求连续子数组的最大和
- 求100的阶乘,大神请路过。。。。
- [编程题] 末尾0的个数 滴滴笔试
- 2016 滴滴打车笔试题
- 滴滴笔试编程题第一题
- 2017滴滴实习生笔试编程题
- 2017年滴滴秋招内推笔试编程题
- 求连续子数组的最大和---2017滴滴笔试编程1
- 谁知道synchronized的用法?求大神指教
- 求大神指教
- 求大神指教
- 求大神指教!!!
- 求大神指教!!!
- 大神们,求指教!!!
- 求大神指教
- 求大神们指教
- Fragment小结
- jQuery验证控件jquery.validate.js使用说明+中文API
- 学习笔记 新浪微博篇 一 Android Service流程
- 13 关于HttpClient自动保存Cookie
- linux NAND驱动之一:内核中的NAND代码布局
- 滴滴2016 笔试题 编程题1 求路过的大神指教
- HTTPS那些事(一)HTTPS原理
- csuoj1812: 三角形和矩形
- C++多态需求的引入
- Java语言基础二
- Windows安装Composer
- 大数据处理算法--Bloom Filter
- 遍历List的三种方法
- 宣传6个9的可靠性就真的可靠吗