# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
23671 | leejseo | 사냥꾼 (KOI13_hunter) | C++14 | 83 ms | 2292 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <stdio.h>
#include <algorithm>
#include <time.h>
using namespace std;
struct point{
int x,y;
point () {}
point (int _x, int _y) { x=_x; y=_y; }
bool operator < (const point& rhs) const {return x < rhs.x; }
};
int m,n,l;
int x[100000];
point animal[100000];
int main()
{
scanf ("%d%d%d", &m, &n, &l);
for (int i=0; i<m; i++) scanf ("%d", &(x[i]));
for (int i=0; i<n; i++) scanf ("%d%d", &(animal[i].x), &(animal[i].y));
sort (x, x+m);
sort (animal, animal+n);
int answer = 0;
for (int i=0, j=0; i<n; i++)
{
while (j<m && x[j]<animal[i].x){
j++;
}
bool flag = false;
if ((j>0) && (animal[i].x - x[j-1] + animal[i].y <= l)) flag = true;
if ((j<m) && (x[j]-animal[i].x + animal[i].y <=l)) flag = true;
if (flag) answer ++;
}
printf("%d\n", answer);
return 0;
}
Compilation message (stderr)
# | 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... |