QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#897007 | #10015. Counting Orthogonal Pairs | definieren | AC ✓ | 2ms | 5516kb | C++20 | 4.0kb | 2025-02-13 16:44:38 | 2025-02-13 16:44:39 |
Judging History
answer
#include <bits/stdc++.h>
#define fir first
#define sec second
#define mkp make_pair
#define mkt make_tuple
#ifdef LOCAL
#define dbg(x) cerr << "In Line " << __LINE__ << " the " << #x << " = " << x << '\n'
#define dpi(x, y) cerr << "In Line " << __LINE__ << " the " << #x << " = " << x << " ; " << "the " << #y << " = " << y << '\n'
#define dbgf(fmt, args...) fprintf(stderr, fmt, ##args)
#else
#define dbg(x) void()
#define dpi(x, y) void()
#define dbgf(fmt, args...) void()
#endif
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ui = unsigned int;
using ldb = long double;
using i128 = __int128_t;
using ui128 = __uint128_t;
using pii = pair<int, int>;
using pil = pair<int, ll>;
using pli = pair<ll, int>;
using vi = vector<int>;
using vpii = vector<pii>;
namespace {
bool Mbe;
constexpr int MOD = 998244353;
template<typename T> T Norm(T a, T p = MOD) { return (a % p + p) % p; }
template<typename T> T add(T a, T b, T p = MOD) { return (a + b >= p) ? (a + b - p) : (a + b); }
template<typename T> T del(T a, T b, T p = MOD) { return (a - b < 0) ? (a - b + p) : (a - b); }
template<typename T> T mul(T a, T b, T p = MOD) { return 1ll * a * b % p; }
template<typename T> T cadd(T &a, T b, T p = MOD) { return a = add(a, b, p); }
template<typename T> T cdel(T &a, T b, T p = MOD) { return a = del(a, b, p); }
template<typename T> T cmul(T &a, T b, T p = MOD) { return a = mul(a, b, p); }
template<typename T> bool cmax(T &a, T b) { return a < b ? a = b, true : false; }
template<typename T> bool cmin(T &a, T b) { return a > b ? a = b, true : false; }
template<typename T> T DivFloor(T a, T b) { return a >= 0 ? a / b : (a - b + 1) / b; }
template<typename T> T DivCeil(T a, T b) { return a >= 0 ? (a + b - 1) / b : a / b; }
namespace FastIO {
constexpr int LEN = 1 << 20;
char in[LEN + 1], out[LEN + 1];
char *pin = in, *pout = out, *ein = in, *eout = out + LEN;
char gc() { return pin == ein && (ein = (pin = in) + fread(in, 1, LEN, stdin), ein == in) ? EOF : *pin ++; }
void pc(char c) { pout == eout && (fwrite(out, 1, LEN, stdout), pout = out); (*pout ++) = c; return; }
struct Flush { ~Flush() { fwrite(out, 1, pout - out, stdout); pout = out; return; } } _flush;
template<typename T> T Read() {
T x = 0; int f = 1; char ch = gc();
while (ch < '0' || ch > '9') f = (ch == '-' ? (~f + 1) : f), ch = gc();
while (ch >= '0' && ch <= '9') x = (x << 1) + (x << 3) + (ch ^ 48), ch = gc();
return x * f;
}
void Read(char *s) {
char ch = gc();
while (ch == ' ' || ch == '\n' || ch == '\r' || ch == '\t') ch = gc();
while ((ch != EOF) && !(ch == ' ' || ch == '\n' || ch == '\r' || ch == '\t')) *s = ch, s ++, ch = gc();
*s = '\0'; return;
}
template<typename T> void Read(T &x) { x = Read<T>(); return; }
template<typename T, typename ...Args>
void Read(T &x, Args &...args) { Read(x), Read(args...); return; }
template<typename T> void Write(T x) {
static char stk[40]; int tp = 0;
if (x < 0) pc('-'), x = ~x + 1;
do stk[tp++] = x % 10 + 48, x /= 10; while (x);
while (tp --) pc(stk[tp]);
return;
}
void Write(char ch) { pc(ch); return; }
void Write(const char *s) {
while (*s != '\0') pc(*s), s ++;
return;
}
void Puts(const char *s) {
Write(s), pc('\n'); return;
}
template<typename T, typename ...Args>
void Write(T x, Args ...args) { Write(x), Write(args...); return; }
}
#define Read FastIO::Read
#define Write FastIO::Write
#define Puts FastIO::Puts
#define getchar FastIO::gc
#define putchar FastIO::pc
void slv() {
int n = Read<int>();
if (n & 1) {
Puts("0");
} else {
Write(1ll * n * (n - 1 - n / 2), '\n');
}
return;
}
void clr() {
return;
}
bool Med;
}
int main() {
#ifdef LOCAL
freopen("!in.in", "r", stdin);
freopen("!out.out", "w", stdout);
fprintf(stderr, "%.3lf Mb\n", fabs((&Mbe - &Med) / 1048576.0));
#endif
// int T = 1;
int T = Read<int>();
while (T --) slv(), clr();
#ifdef LOCAL
fprintf(stderr, "%d ms\n", (int)clock());
#endif
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3560kb
input:
3 5 4 10836006
output:
0 4 58709502180012
result:
ok 3 number(s): "0 4 58709502180012"
Test #2:
score: 0
Accepted
time: 2ms
memory: 5516kb
input:
100000 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 1...
output:
0 4 0 12 0 24 0 40 0 60 0 84 0 112 0 144 0 180 0 220 0 264 0 312 0 364 0 420 0 480 0 544 0 612 0 684 0 760 0 840 0 924 0 1012 0 1104 0 1200 0 1300 0 1404 0 1512 0 1624 0 1740 0 1860 0 1984 0 2112 0 2244 0 2380 0 2520 0 2664 0 2812 0 2964 0 3120 0 3280 0 3444 0 3612 0 3784 0 3960 0 4140 0 4324 0 4512...
result:
ok 100000 numbers