Задача "модник" на C++

прорешиваю олимпиады и наткнулся на такую задачу:

Всего в одном месяце n дней. Вы знаете, что в этом месяце будет проходить m фэшн-эвентов. i-й фэшн-эвент будет проходить со дня li по день ri включительно. Во все дни i-го фэшн-эвента стоимость вашего наряда должна быть хотя бы xi. Конечно же нельзя носить одно и то же, поэтому каждый день, когда проходит хотя бы один фэшн-эвент, вы покупаете новый наряд. Заметьте, что в один день может быть несколько эвентов, но для них надо купить только один наряд. Сообщите минимальное суммарное количество денег, которое потребуется, чтобы удовлетворить условия всех фэшн-эвентов.

Пример ввода:

10 3

1 5 5

6 10 6

3 7 7

Пример вывода:

63

У меня есть код, однако, проверочная система выдает вердикт "Wrong Answer". Код:

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

int main()
{
    int n,m;
    int total_price;
    int li,ri,xi;
    cin >> n >> m;
    vector <int> month(n);
    for (int i=0; i<m;i++)
    {
        cin >> li >> ri >> xi;
        for (int q= li-1; q <= ri-1; q++)
        {
            if (month[q] < xi)
                month[q] = xi;
        }
            
            
    }
    for (int i=0; i<month.size();i++)
        total_price += month[i];
    cout << total_price;
    return 0;
}

Подскажите, пожалуйста, в чем может быть проблема? Есть ли более хороший способ решить задачу?


Ответы (0 шт):