Submission #4462

#TimeUsernameProblemLanguageResultExecution timeMemory
4462model_code사냥꾼 (KOI13_hunter)C++98
100 / 100
64 ms2260 KiB
#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", answer); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...