Submission #517327

# Submission time Handle Problem Language Result Execution time Memory
517327 2022-01-23T04:01:10 Z KoD Zvijezda (COCI19_zvijezda) C++17
20 / 110
1000 ms 4416 KB
#include <bits/stdc++.h>

using std::vector;
using std::array;
using std::pair;
using std::tuple;

using i64 = std::int64_t;
using i128 = __int128_t;

struct Point {
    i64 x, y;
    Point() : x(0), y(0) {}
    Point(const i64 x, const i64 y) : x(x), y(y) {}
    Point operator-(const Point& t) const {
        return Point(x - t.x, y - t.y);
    }
    friend i128 cross(const Point& p, const Point& q) {
        return (i128)p.x * q.y - (i128)p.y * q.x;
    }
};

int main() {
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int T, N;
    std::cin >> T >> N;
    vector<Point> P(N);
    for (auto& [x, y] : P) {
        std::cin >> x >> y;
    }
    int Q;
    std::cin >> Q;
    while (Q--) {
        Point p;
        std::cin >> p.x >> p.y;
        bool f = false;
        for (int i = 0; i < N / 2; ++i) {
            if (cross(P[i + 1] - P[i], p - P[i]) >= 0 and cross(P[(i + N / 2 + 1) % N] - P[i + N / 2], p - P[i + N / 2]) >= 0) {
                f = true;
                break;
            }
        }
        std::cout << (f ? "DA" : "NE") << '\n';
    }
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 336 KB Output is correct
2 Correct 2 ms 312 KB Output is correct
3 Correct 2 ms 336 KB Output is correct
4 Correct 2 ms 328 KB Output is correct
5 Correct 6 ms 328 KB Output is correct
6 Correct 7 ms 428 KB Output is correct
7 Correct 6 ms 336 KB Output is correct
8 Correct 13 ms 464 KB Output is correct
9 Correct 7 ms 460 KB Output is correct
10 Correct 14 ms 456 KB Output is correct
11 Correct 8 ms 464 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 336 KB Output is correct
2 Correct 2 ms 312 KB Output is correct
3 Correct 2 ms 336 KB Output is correct
4 Correct 2 ms 328 KB Output is correct
5 Correct 6 ms 328 KB Output is correct
6 Correct 7 ms 428 KB Output is correct
7 Correct 6 ms 336 KB Output is correct
8 Correct 13 ms 464 KB Output is correct
9 Correct 7 ms 460 KB Output is correct
10 Correct 14 ms 456 KB Output is correct
11 Correct 8 ms 464 KB Output is correct
12 Correct 62 ms 4328 KB Output is correct
13 Correct 232 ms 4416 KB Output is correct
14 Execution timed out 1084 ms 3424 KB Time limit exceeded
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1022 ms 4084 KB Time limit exceeded
2 Halted 0 ms 0 KB -