Задача «Носки». Сортировка

Носки Имеется стол длины 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;
    }
}

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