203192026-01-06 13:45:37BaKamillaHáromszögekcpp17Wrong answer 26/40202ms1196 KiB
#include <iostream>
#include <vector>
#include <algorithm>

std::vector<int> v;

int keres(int elso, int utolso, int mit)
{
    if (elso >= utolso) {
        return elso;
    }
    else {
        int k = (elso + utolso) / 2;
        if (v[k] == mit) return k;
        else if (mit < v[k]) return keres(elso, k - 1, mit);
        else return keres(k + 1, utolso, mit);
    }
}
int main()
{
    int N;
    int Q;
    std::cin >> N >> Q;
    for (int i = 1; i <= N; i++) {
        int a;
        std::cin >> a;
        v.push_back(a);
    }
    sort(v.begin(), v.end());
   for (int i = 1; i <= Q; i++) {
        int a, b; 
        std::cin >> a >> b;
        if (a > b) std::swap(a, b);
        int k = keres(0, v.size(), a + b);
        int p = keres(0, v.size(), b - a);
        if (k >= v.size()) k--;
        else
            if( v[k] >= a + b) k--;
        if (p < 0) p++;
        else if(v[p] <= b - a) p++;
        std::cout << k - p + 1 << std::endl;
    }


}
SubtaskSumTestVerdictTimeMemory
base26/40
1Accepted0/01ms316 KiB
2Accepted0/01ms508 KiB
3Accepted0/017ms508 KiB
4Accepted4/44ms316 KiB
5Accepted2/24ms316 KiB
6Accepted1/1193ms1196 KiB
7Accepted1/1180ms1096 KiB
8Accepted2/2181ms1180 KiB
9Accepted2/2180ms1076 KiB
10Accepted1/1167ms1040 KiB
11Accepted1/1170ms944 KiB
12Accepted2/2167ms1032 KiB
13Accepted2/2170ms992 KiB
14Accepted1/1194ms1196 KiB
15Accepted1/1185ms964 KiB
16Accepted1/1188ms1016 KiB
17Wrong answer0/1187ms944 KiB
18Wrong answer0/1172ms992 KiB
19Wrong answer0/2173ms1000 KiB
20Wrong answer0/2174ms944 KiB
21Wrong answer0/3180ms976 KiB
22Wrong answer0/5194ms1188 KiB
23Accepted5/5202ms1152 KiB