238332026-01-30 15:38:10KristófHáromszögekcpp17Hibás válasz 26/40192ms1088 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;
    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
base26/40
1Elfogadva0/01ms500 KiB
2Elfogadva0/02ms316 KiB
3Elfogadva0/017ms548 KiB
4Elfogadva4/44ms316 KiB
5Elfogadva2/24ms508 KiB
6Elfogadva1/1189ms1052 KiB
7Elfogadva1/1175ms1076 KiB
8Elfogadva2/2180ms1076 KiB
9Elfogadva2/2177ms1060 KiB
10Elfogadva1/1175ms1060 KiB
11Elfogadva1/1163ms1060 KiB
12Elfogadva2/2165ms1076 KiB
13Elfogadva2/2165ms1076 KiB
14Elfogadva1/1192ms1056 KiB
15Elfogadva1/1181ms820 KiB
16Elfogadva1/1187ms800 KiB
17Hibás válasz0/1186ms820 KiB
18Hibás válasz0/1168ms820 KiB
19Hibás válasz0/2170ms804 KiB
20Hibás válasz0/2175ms804 KiB
21Hibás válasz0/3180ms800 KiB
22Hibás válasz0/5186ms1080 KiB
23Elfogadva5/5190ms1088 KiB