网易2016研发工程师编程题②
来源:互联网 发布:古生物学就业 知乎 编辑:程序博客网 时间:2024/06/11 01:56
第一题
- 小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。每门课由平时成绩和考试成绩组成,满分为r。现在他知道每门课的平时成绩为ai ,若想让这门课的考试成绩多拿一分的话,小v要花bi 的时间复习,不复习的话当然就是0分。同时我们显然可以发现复习得再多也不会拿到超过满分的分数。为了拿到奖学金,小v至少要花多少时间复习。
#include<iostream>using namespace std;long Goal(long avg,long Score[],long i,long n,long r){ long finals = 0;long Finish = n*avg;long j = n;long Finals = 0; Score[i]=r; while(j--) { finals+=Score[j]; } if(Finish <= finals) { return 0; } else return 1;}void Mlongime(long b[],long result[],long n){ for(long i = 0;i < n; i++) { if(b[i] <= result[1]) { result[1] = b[i]; result[0] = i; } }}int main (){ long n,avg,r; long * a; long * b; long result[2]={0,100000000}; long * Score; while(cin >> n >> r >> avg) { long finals = 0; long lasttime = 0; long last = 0; long j = n; long time = 0; long left = 0; a= new long [n]; b= new long [n]; Score= new long [n]; while(j--) { cin >> a[j] >> b[j];Score[j] = a[j];finals += Score[j]; } if(finals >=n*avg) { time = 0; cout <<time<<endl; return 0; } Mlongime(b,result,n); left = r -a[result[0]]; time = left*result[1]; b[result[0]] = 10000000; result[1]=10000000; while(Goal(avg,Score,result[0],n,r)) { Mlongime(b,result,n); left = r -a[result[0]]; time+= left*result[1]; last = b[result[0]]; b[result[0]] = 10000000; result[1]=10000000; } j = n; while(j--) { finals+=Score[j]; } lasttime = (finals-n*avg)*last; time = time - lasttime; cout <<time<<endl; } return 0; }
这道题也没有AC,有一组600多组的测试用例一直无法通过,欢迎大家来讨论
第二题
- 一条长l的笔直的街道上有n个路灯,若这条街的起点为0,终点为l,第i个路灯坐标为ai,每盏灯可以覆盖到的最远距离为d,为了照明需求,所有灯的灯光必须覆盖整条街,但是为了省电,要是这个d最小,请找到这个最小的d。
#include<iostream>#include<iomanip>using namespace std;/*快速排序*/void Qsort(long a[], long low, long high){ if(low >= high) { return; } long first = low; long last = high; long key = a[first];/*用字表的第一个记录作为枢轴*/ while(first < last) { while(first < last && a[last] >= key) { --last; } a[first] = a[last];/*将比第一个小的移到低端*/ while(first < last && a[first] <= key) { ++first; } a[last] = a[first]; /*将比第一个大的移到高端*/ } a[first] = key;/*枢轴记录到位*/ Qsort(a, low, first-1); Qsort(a, first+1, high);}int main(){long n,l;while(cin>>n>>l){ double final = 0;long length = 0;long * light;light = new long [n];for(long i = 0;i < n;i++){ cin>>light[i];}Qsort(light,0,n-1);length = light[0] - 0;length = length * 2; for(long s = 0;s < n-1;s++) { long j = light[s+1]-light[s]; if(j > length) length = j; } long high = l - light[n-1]; high = high*2; if(high > length) length = high; final = length /2.0; printf("%.2lf\n",final); //cout<<setprecision(3)<<final<<endl;}return 0;}
0 0
- 网易2016研发工程师编程题②
- 网易2016研发工程师编程题
- 网易2016研发工程师编程题
- 网易2016研发工程师编程题 搜索
- 网易2016研发工程师编程题①
- 网易2016研发工程师编程题
- 网易2016 实习研发工程师编程题
- 网易2016实习研发工程师编程题
- 网易2016实习研发工程师编程题
- 试卷: 网易2016研发工程师编程题
- 网易2016研发工程师编程题
- 网易2016研发工程师编程题
- 网易2016研发工程师编程题
- 网易2016研发工程师编程题
- 网易2016年研发工程师编程题(1)
- 网易2016年研发工程师编程题(2)
- 网易2016研发工程师编程题 扫描透镜
- 网易 2016 实习研发工程师 3道 编程题
- 多线程状态介绍
- libsvm中文版readme
- BZOJ1266 上学路线route(最小割)
- 讯为itop4412实验3 linux最小系统挂载不了U盘分析
- 访问一个网站的过程
- 网易2016研发工程师编程题②
- Tkinter -- Messagebox
- CSS垂直居中和水平居中
- 安卓程序员个人角度浅析创业型公司败因
- 随堂笔记160314适配器和多态
- Spring MVC 方法参数是list
- 通俗易懂讲解 SVM(支持向量机)
- 2016蓝桥杯省赛B组题解
- UVA 10588—— Queuing at the doctors