238322026-01-30 15:36:17KristófHáromszögekcpp17Wrong answer 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;
}
SubtaskSumTestVerdictTimeMemory
base10/40
1Wrong answer0/01ms336 KiB
2Wrong answer0/01ms316 KiB
3Wrong answer0/017ms316 KiB
4Accepted4/44ms316 KiB
5Wrong answer0/24ms508 KiB
6Accepted1/1188ms1064 KiB
7Accepted1/1185ms1060 KiB
8Accepted2/2179ms1052 KiB
9Accepted2/2184ms1076 KiB
10Wrong answer0/1172ms844 KiB
11Wrong answer0/1170ms1076 KiB
12Wrong answer0/2171ms1076 KiB
13Wrong answer0/2171ms1056 KiB
14Wrong answer0/1199ms1076 KiB
15Wrong answer0/1188ms820 KiB
16Wrong answer0/1187ms812 KiB
17Wrong answer0/1187ms804 KiB
18Wrong answer0/1172ms804 KiB
19Wrong answer0/2172ms820 KiB
20Wrong answer0/2179ms832 KiB
21Wrong answer0/3182ms804 KiB
22Wrong answer0/5195ms1068 KiB
23Wrong answer0/5203ms1076 KiB