Задача "модник" на 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;
}
Подскажите, пожалуйста, в чем может быть проблема? Есть ли более хороший способ решить задачу?