#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. Это не решает проблему использования.