Проверенный алгоритм разбиения данных на пакеты одинакового размера

#algorithm #data-structures

#алгоритм #структуры данных

Вопрос:

Скажем, мне нужно объединить следующие отсортированные данные в пакет одинакового размера 100k .

 181000 : Zee5
164000 : VootSelect
40000 : SunNxt
30000 : SonyLiv
21213 : Prime
13505 : VootKids
10616 : epicOn
4705 : ErosNow
2438 : Hungama
1878 : CuriosityStream
849 : Tatasky
116 : docubay
50 : Shemaroome
 

Ожидаемый:

Пакет 1: 100000: Zee5

Пакет 2: 81000: Zee5 19000: VootSelect

Пакет 3: 100000: VootSelect

Пакет 4: 45000: VootSelect 40000: SunNxt 15000 : SonyLIV

Пакет 5: и так далее….

Я попытался создать свою собственную логику для same, используя следующий жадный алгоритм, найденный на hackerearth:

 #include <iostream>
#include <algorithm>

using namespace std;
const int MAX = 105;
int A[MAX];

int main()
{
    int T, N, numberOfThings = 0, currentTime = 0;
    cin >> N >> T;
    for(int i = 0;i < N;  i)
        cin >> A[i];
    sort(A, A   N);
    for(int i = 0;i < N;  i)
    {
        currentTime  = A[i];
        if(currentTime > T)
            break;
        numberOfThings  ;
    }
    cout << numberOfThings << endl;
    return 0;
}
 

Решение не сработало, не уверен, что жадный алгоритм лучше всего подходит для этого.

Поскольку этот сценарий не очень редок, люди могут часто решать этот тип варианта использования, я ищу проверенный алгоритм для решения этого варианта использования.

Комментарии:

1. Похоже, у вас уже есть алгоритм для создания пакетов по 100 тыс., почему вы не можете просто использовать его?

2. «Я пытался создать свою собственную логику для same» : код, на который вы ссылаетесь, в порядке. В чем проблема?

3. Это не решает проблему использования.