203742026-01-06 17:14:32BaKamillaHáromszögekcpp17Hibás válasz 0/40289ms1796 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)
{
    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 keres_nagy(int elso, int utolso, int mit) {
    
    if (v[elso] > mit) return elso;
    if (v[utolso] < mit ) return -1;
        int k = (elso + utolso) / 2;
        if (v[k] == mit) return k - 1;
        if (v[k] < mit && mit < v[k + 1]) return k + 1;
        if (mit < v[k]) return keres_nagy(elso, k , mit);
        else return keres_nagy(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);
        if (a + b <= v[0] || a - b >= v[v.size() - 1]) std::cout << 0;
        else {
            int k = keres(0, v.size()-1, a + b);
            int p = keres(0, v.size()-1, 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 << std::endl;
            std::cout << k - p + 1 << std::endl;
        }
    }
}



RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/40
1Hibás válasz0/01ms500 KiB
2Hibás válasz0/01ms316 KiB
3Hibás válasz0/024ms564 KiB
4Hibás válasz0/46ms316 KiB
5Hibás válasz0/24ms404 KiB
6Hibás válasz0/1282ms1520 KiB
7Hibás válasz0/1263ms1488 KiB
8Hibás válasz0/2264ms1540 KiB
9Hibás válasz0/2272ms1432 KiB
10Hibás válasz0/1256ms1668 KiB
11Hibás válasz0/1259ms1708 KiB
12Hibás válasz0/2256ms1696 KiB
13Hibás válasz0/2263ms1696 KiB
14Hibás válasz0/1287ms1708 KiB
15Hibás válasz0/1272ms1420 KiB
16Hibás válasz0/1275ms1448 KiB
17Hibás válasz0/1272ms1496 KiB
18Hibás válasz0/1256ms1592 KiB
19Hibás válasz0/2256ms1464 KiB
20Hibás válasz0/2268ms1436 KiB
21Hibás válasz0/3272ms1468 KiB
22Hibás válasz0/5277ms1796 KiB
23Hibás válasz0/5289ms1604 KiB