请问我错了吗?

题目:http://exercise.acmcoder.com/quesexcuse?paperId=176
var n = 2; //一组数据行数
var inputs=[]; //所有测试数据
var line;
while(line = read_line()){
	inputs.push(line);
}
function getMax(data){
	var max = data[1];
  	var maxIndex = 1;
  for(var i =1;i<data.length;i++){
  	if(data[i]>max){
    	max = data[i];
      maxIndex = i;
    }
  }
  return maxIndex;
}
//处理数据
function deal(inputs){
	var data = inputs[1].split(" ").map(function(item){
    	return parseInt(item.trim());
    });
  var xi = data[0];
  var maxIndex = getMax(data);
  	var max = data[maxIndex];
  var total = 0;
  while(xi<max){
  	var d = Math.ceil((max - xi)/2);
    xi = xi+d;
    total = total+d;
    data[maxIndex] =  max - d;
    maxIndex = getMax(data);
    max = data[maxIndex];
    
  }
  if(max === xi){
  	total++;
  }
  return total;
}

//输出结果
for(var i=0;i<inputs.length-1;i=i+n){
	var temp = [];   //表示一组测试数据
  temp.push(inputs[i]);
  temp.push(inputs[i+1]);
  print(deal(temp));
}

#京东#
全部评论
getMax可以这样 return Math.max.apply(data, data)
点赞 回复 分享
发布于 2017-04-07 08:07

相关推荐

ResourceUtilization:你是我见过最美的牛客女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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