82312024-01-12 22:26:04CWMHáromszögekcpp17Accepted 40/40194ms4576 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <climits>

using namespace std;
signed main()
{
	int n, m;
	cin >> n >> m;
	vector<int> lenghts(n);
	for (size_t i = 0; i < n; i++)
	{
		cin >> lenghts[i];
	}
	sort(lenghts.begin(), lenghts.end());
	for (size_t i = 0; i < m; i++)
	{
		int a, b;
		cin >> a >> b;
		int res1 = 0;
		if (lenghts[0] <= abs(a - b)) {
			res1 = upper_bound(lenghts.begin(), lenghts.end(), abs(a - b))-lenghts.begin();
		}
		int res2 = lenghts.size();
		if (lenghts[lenghts.size() - 1] >= a + b) {
			res2 = lower_bound(lenghts.begin(), lenghts.end(), abs(a + b)) - lenghts.begin();
		}
		cout << res2 - res1 << "\n";
	}
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/03ms1812 KiB
2Accepted0/03ms2004 KiB
3Accepted0/016ms2124 KiB
4Accepted4/44ms2292 KiB
5Accepted2/24ms2452 KiB
6Accepted1/1167ms3264 KiB
7Accepted1/1153ms3248 KiB
8Accepted2/2153ms3448 KiB
9Accepted2/2155ms3532 KiB
10Accepted1/1143ms3532 KiB
11Accepted1/1140ms3656 KiB
12Accepted2/2142ms3888 KiB
13Accepted2/2143ms3944 KiB
14Accepted1/1177ms3940 KiB
15Accepted1/1162ms3904 KiB
16Accepted1/1184ms3816 KiB
17Accepted1/1180ms3944 KiB
18Accepted1/1179ms4152 KiB
19Accepted2/2149ms4252 KiB
20Accepted2/2159ms4240 KiB
21Accepted3/3187ms4368 KiB
22Accepted5/5194ms4456 KiB
23Accepted5/5181ms4576 KiB