238322026-01-30 15:36:17KristófHáromszögekcpp17Hibás válasz 10/40203ms1076 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int bs(int target,vector<int> &a)
{
int l=0;
int r=a.size()-1;
int ans=0;
while(l<=r)
    {
    int m=(l+r)/2;
    if(a[m]==target)return m+1;
    if(a[m]<target)r=m-1;
    else {l=m+1;ans=m;}
    }
return ans+1;
}
int bs1(int target,vector<int> &a)
{
int l=0;
int r=a.size()-1;
int ans=-1;
while(l<=r)
    {
    int m=(l+r)/2;
    if(a[m]==target)return m+1;
    if(a[m]<target){r=m-1;}
    else {l=m+1;ans=m;}
    //cout<<m<<" "<<l<<" "<<r<<" "<<ans<<"\n";
    }
return ans+1;
}
int main()
{
    int n,q;
    cin>>n>>q;
    vector<int> a(n);
    for(int &x:a)cin>>x;
    sort(a.begin(),a.end(),greater<int>());
    int x,y;
    for(int i=0;i<q;i++)
        {
        cin>>x>>y;
        cout<<bs(max(x,y)-min(x,y),a)-bs1(x+y,a)<<"\n";
        }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base10/40
1Hibás válasz0/01ms336 KiB
2Hibás válasz0/01ms316 KiB
3Hibás válasz0/017ms316 KiB
4Elfogadva4/44ms316 KiB
5Hibás válasz0/24ms508 KiB
6Elfogadva1/1188ms1064 KiB
7Elfogadva1/1185ms1060 KiB
8Elfogadva2/2179ms1052 KiB
9Elfogadva2/2184ms1076 KiB
10Hibás válasz0/1172ms844 KiB
11Hibás válasz0/1170ms1076 KiB
12Hibás válasz0/2171ms1076 KiB
13Hibás válasz0/2171ms1056 KiB
14Hibás válasz0/1199ms1076 KiB
15Hibás válasz0/1188ms820 KiB
16Hibás válasz0/1187ms812 KiB
17Hibás válasz0/1187ms804 KiB
18Hibás válasz0/1172ms804 KiB
19Hibás válasz0/2172ms820 KiB
20Hibás válasz0/2179ms832 KiB
21Hibás válasz0/3182ms804 KiB
22Hibás válasz0/5195ms1068 KiB
23Hibás válasz0/5203ms1076 KiB