이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
struct xy
{
    int x, y;
};
int cmp(const xy &aa, const xy &bb)
{
    return aa.x<bb.x || (aa.x==bb.x && aa.y<bb.y);
}
xy a[100002];
int n, m, l, g[100002];
int cnt;
int input()
{
    int i;
    scanf("%d %d %d",&m,&n,&l);
    for(i=1 ; i<=m ; i++) scanf("%d",&g[i]);
    for(i=1 ; i<=n ; i++) scanf("%d %d",&a[i].x,&a[i].y);
    std::sort(g+1,g+1+m);
    std::sort(a+1,a+1+n,cmp);
    return 0;
}
int process()
{
    int i=1, j=1, d;
    while(j<=n)
    {
        while(g[i]+(g[i+1]-g[i])/2+(g[i+1]-g[i])%2<=a[j].x && i!=m) {i++;}
        d=abs(a[j].x-g[i])+a[j].y;
        if(d<=l) cnt++;
        j++;
    }
    return 0;
}
int output()
{
    printf("%d",cnt);
    return 0;
}
int main()
{
    input();
    process();
    output();
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |