332021-01-08 20:01:20mraronHáromszögekcpp11Hibás válasz 8/4065ms2736 KiB
#include <iostream>
#include <algorithm>

using namespace std;

int N, Q, a, b, l, r, hol;
int t[100000];

int bi(int x, int y){
    if(x==y) return x;
    int fel = (x+y)/2;
    if(t[fel]>=hol) return bi(x,fel);
    return bi(fel+1,y);
}

int keres(int x){
    hol = x;
    if(t[0]>=x) return N;
    if(t[N-1]<x) return 0;
    return N-bi(0,N-1);
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);

    cin >> N >> Q;


    if(N<1 || N>100000 || Q<1 || Q>100000) cout << 5/0 << endl;
    for(int i=0; i<N; i++){
        cin >> t[i];
        if(t[i]>1000000) return 0;
        if(t[i]<1 || t[i]>1000000000) cout << 5/0 << endl;
    }
    sort(t,t+N);

    for(int i=0; i<Q; i++){
        cin >> a >> b;
        if(a>1000000 || b>1000000) return 0;
        if(a<1 || b<1 || a>1000000000 || b>1000000000) cout << 5/0 << endl;
        l = max(a,b)-min(a,b)+1; r = a+b;
        cout << keres(l)-keres(r) << '\n';
    }

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base8/40
1Elfogadva0/01ms1820 KiB
2Elfogadva0/01ms1848 KiB
3Elfogadva0/04ms1960 KiB
4Hibás válasz0/41ms1912 KiB
5Elfogadva2/21ms1924 KiB
6Hibás válasz0/11ms1912 KiB
7Hibás válasz0/11ms1912 KiB
8Hibás válasz0/22ms1916 KiB
9Hibás válasz0/21ms1912 KiB
10Elfogadva1/165ms2736 KiB
11Elfogadva1/143ms2732 KiB
12Elfogadva2/245ms2728 KiB
13Elfogadva2/243ms2728 KiB
14Hibás válasz0/11ms1916 KiB
15Hibás válasz0/11ms1916 KiB
16Hibás válasz0/11ms1912 KiB
17Hibás válasz0/11ms1916 KiB
18Hibás válasz0/117ms2680 KiB
19Hibás válasz0/217ms2688 KiB
20Hibás válasz0/21ms1908 KiB
21Hibás válasz0/31ms1916 KiB
22Hibás válasz0/51ms1916 KiB
23Hibás válasz0/51ms1912 KiB