Задача «Носки». Сортировка
Носки Имеется стол длины L. На столе разложено N носков так, что никакой носок не вылезает за границы стола. Далее имеется умный мальчик Вася, который хочет (сугубо в корыстных целях) замерить толщину покрытия стола носками в M точках. Конец носка также накрывает точку стола, в которой он находится.
Входные данные
В первой строке заданы L,N,M(1≤L≤106,1≤N≤10000,1≤M≤100000).
Далее идут N пар чисел l≤r от 1 до L — левые и правые концы носков, каждая в отдельной строке.
Затем идут M чисел от 1 до L — интересующие Васю точки, каждое в отдельной строке.
Все числа целые.
Ввод:
31 12
19 20
1 3
9 26
8 31
15 26
15 20
5 20
17 17
21 23
2 24
10 19
1 27
15
23
28
23
Вывод
8
7
1
7
Выведите M чисел — толщину носкового покрытия в каждой точке.
Помогите оптимизировать задачу, проходит все тесты, кроме последнего. На последнем тесте выдаёт ошибку.
#include <iostream>
using namespace std;
int main() {
int l, m, n;
cin >> l >> n >> m;
int table[10001] = {0};
int start, end, i, t = 0;
while (n--) {
cin >> start >> end;
table[start-1]++;
table[end]--;
}
for (i=0; i < 10001; i++) {
t += table[i];
table[i] = t;
}
for (i=0; i < m; i++) {
cin >> t;
cout << table[t-1] << endl;
}
}