以下c ++程序中的运行时错误SIGTSTP

时间:2019-01-17 19:39:02

标签: c++ algorithm binary-search

我陷入了问题Minion chef and Bananas。这是一个基于二进制搜索的问题

我在以下测试用例上执行以下程序; 它成功通过了所有测试案例

测试案例1:

  

3 3

     

1 2 3

输出:

  

3

测试案例2:

  

3 4

     

1 2 3

输出:

  

2

测试案例3:

  

4 5

     

4 3 2 7

输出:

  

4

但是我在提交“以下程序”时遇到了“ SIGTSTP”错误 请帮忙。

这是我的代码:

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int getHours(vector<int> piles,int k){
    int sum = 0;
    for(int i = 0;i<piles.size();i++){
        if(piles[i]%k==0)
            sum+=(piles[i]/k);
        else
            sum+=(1+piles[i]/k);
    }
    return sum;
}


int main(){
    int t;
    cin>>t;
    while(t--){
        int n;
        int h;
        cin>>n>>h;
        vector <int> piles;
        int tempmax = 0;

        for(int i=0;i<n;i++){
            int temp;
            cin>>temp;
            tempmax = max(temp,tempmax);
            piles.push_back(temp);
        }
        int low = 0;
        int high = tempmax;
        if(tempmax==1){
            cout<<h<<endl;
            continue;
        }

        while(low<high){
            int mid = (low + high)/2;
            int p=getHours(piles,mid);
            if(p<=h)
                high = mid;
            else
                low = mid + 1;
        }
        cout<<low<<endl;
        piles.clear();

    }


}

0 个答案:

没有答案