链家的垃圾OJ系统


我的代码:

链家的系统好垃圾啊!!!
// Lianjia01.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <list>
#include <stack>
#include <map>
#include <queue>
#include <set>
#include <iterator>
#include <algorithm>
using namespace std;
int findk(int * arrS, int * arrE, int low, int high, int key) 
{
 if (low > high)
  return -1;
 int mid = low + (high - low) / 2;
 if (key >= arrS[mid] && key <= arrE[mid])return mid+1;
 else if (key >= arrE[mid])return findk(arrS, arrE, mid + 1, high, key);
 else return findk(arrS, arrE, low, mid - 1, key);
}
 int main()
{
 ifstream fin("file.txt");
 int n;
 fin >> n;
 int * arr = new int[n];
 for (int i = 0;i < n;++i)fin >> arr[i];
 
 int * arrS = new int[n];
 int * arrE = new int[n];
 arrS[0] = 1;
 arrE[0] = arr[0];
 int sum = 0;
 for (int i = 0;i < n-1;++i)
 {
  sum += arr[i];
  arrS[i+1] = sum + 1;
  arrE[i] = sum;
 }
 sum += arr[n - 1];
 arrE[n - 1] = sum;
 /*for (int i = 0;i < n;++i)
 cout << arrS[i] << "   " << arrE[i] << endl;*/
 int q;
 fin >> q;
 int query;
 for (int i = 0;i < q;++i)
 {
  fin >> query;
  cout << findk(arrS, arrE, 0, n, query) << endl;
 }
 return 0;
}
 
请问上面的代码有问题吗?

全部评论
我超时了,只过了65% GG
点赞 回复
分享
发布于 2017-08-19 21:19

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务