自己写了一个 Validator 然后交了上去。
结果如下:
其中 RE 的测试点是 assert
报错的,证明数据范围可能有误(应该是 p 有问题)。
Validator 代码如下:
#include <cstdio>
#include <cassert>
typedef long long i64;
int main()
{
i64 n, p, m;
scanf("%lld%lld", &n, &p);
assert(1 <= n && n <= 100000);
assert(0 <= p && p <= 1000000000);
for (int i = 1; i <= n; i++)
{
i64 tmp;
scanf("%lld", &tmp);
assert(0 <= tmp && tmp <= 1000000000);
}
scanf("%lld", &m);
assert(0 <= m && m <= 100000);
while (m--)
{
int op;
scanf("%d", &op);
if (op == 1 || op == 2)
{
i64 t, g, c;
scanf("%lld%lld%lld", &t, &g, &c);
assert(1 <= t && t <= n);
assert(1 <= g && g <= n);
assert(t <= g);
assert(0 <= c && c <= 1000000000);
}
else
{
i64 t, g;
scanf("%lld%lld", &t, &g);
assert(1 <= t && t <= n);
assert(1 <= g && g <= n);
assert(t <= g);
}
}
}