cpp/container/deque
cppreference.com sitesinden
struct vec{
ll x, y;
vec() {}
vec(ll x, ll y): x(x), y(y) {}
vec(ll x, ll y, ll x1, ll y1): x(x1 - x), y(y1 - y) {}
ll operator* (vec &a) {
return x * a.x + y * a.y;
}
ll operator/ (vec &a) {
return x * a.y - y * a.x;
}
vec operator- (vec &a) {
return { x - a.x, y - a.y };
}
friend istream& operator>> (istream& is, vec &a) {
is >> a.x >> a.y;
return is;
}
friend ostream& operator<< (ostream& os, vec &a) {
os << a.x << " " << a.y;
return os;
}
};