203482026-01-06 16:14:09BaKamillaHáromszögekcpp17Hibás válasz 11/40197ms1196 KiB
// Haromszogek.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <vector>
#include <algorithm>

std::vector<int> v;

int keres(int elso, int utolso, int mit, int plusz)
{
    if (elso == utolso) {
        return elso;
    }
    else
    if (elso == utolso - 1) {
        if (v[elso] == mit) return elso;
        else if (v[utolso] == mit)return utolso;
        else if (plusz) return utolso;
        else 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,plusz);
        else return keres(k + 1, utolso, mit, plusz);
    }
}
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,1);
        int p = keres(0, v.size(), b - a,0);
        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 << std::endl;
        std::cout << k - p + 1 << std::endl;
    }


}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base11/40
1Elfogadva0/01ms508 KiB
2Elfogadva0/01ms508 KiB
3Hibás válasz0/017ms316 KiB
4Hibás válasz0/44ms316 KiB
5Hibás válasz0/23ms316 KiB
6Hibás válasz0/1188ms1024 KiB
7Elfogadva1/1185ms1180 KiB
8Elfogadva2/2179ms1120 KiB
9Elfogadva2/2184ms1052 KiB
10Elfogadva1/1168ms1196 KiB
11Elfogadva1/1170ms940 KiB
12Elfogadva2/2168ms1196 KiB
13Elfogadva2/2172ms1192 KiB
14Hibás válasz0/1197ms1192 KiB
15Hibás válasz0/1185ms948 KiB
16Hibás válasz0/1185ms1028 KiB
17Hibás válasz0/1186ms952 KiB
18Hibás válasz0/1175ms944 KiB
19Hibás válasz0/2172ms1024 KiB
20Hibás válasz0/2175ms944 KiB
21Hibás válasz0/3182ms928 KiB
22Hibás válasz0/5189ms1196 KiB
23Hibás válasz0/5193ms1196 KiB