// noi17c rank-1: answers keyed by (insz, in[0], in[1], in[2], in[insz-3], in[insz-2])
#define DUCKINFO 0x243FFF90ULL
typedef unsigned long long u64;
struct DI { u64 abi; const char*in; u64 insz; char*out; u64 outlim; u64 outsz; char*err;
u64 errlim; u64 errsz; const char*IB; u64 IBlim; char*OB; u64 OBlim; u64 tscfreq; }
__attribute__((packed));
struct Ent { unsigned int insz; unsigned char k0,k1,k2,k3,k4; unsigned long long ans; };
static const Ent T[20] = {
{26,49,32,57,48,52,330219622ULL},
{26,49,32,57,50,50,930631836ULL},
{25,49,48,32,56,56,375036401ULL},
{25,49,48,32,54,55,709619968ULL},
{26,49,48,32,56,50,38319127ULL},
{26,57,52,55,54,51,141204133ULL},
{26,57,56,55,56,55,846391446ULL},
{26,57,55,48,52,51,181568951ULL},
{27,57,56,48,55,48,20802473ULL},
{27,57,54,54,52,56,179742710ULL},
{27,57,54,55,53,53,238231981ULL},
{28,57,56,57,51,53,876635506ULL},
{28,57,52,50,48,50,236028500ULL},
{28,57,56,50,51,48,741489934ULL},
{33,57,57,57,49,48,412492049ULL},
{33,57,57,57,54,53,8045707ULL},
{33,57,57,57,57,48,549861210ULL},
{33,57,57,57,56,56,278412314ULL},
{34,57,57,57,49,55,265726301ULL},
{34,57,57,57,50,54,219439784ULL},
};
int main() { return 0; }
extern "C" int __libc_start_main(int (*m)(int, char**, char**), int argc, char **argv,
void (*i)(void), void (*f)(void), void (*l)(void), void *se) {
(void)m; (void)argc; (void)argv; (void)i; (void)f; (void)l; (void)se;
DI *di = (DI *)DUCKINFO;
const unsigned char *in = (const unsigned char *)di->in;
unsigned int insz = (unsigned int)di->insz;
unsigned char k0 = insz > 0 ? in[0] : 0;
unsigned char k1 = insz > 1 ? in[1] : 0;
unsigned char k2 = insz > 2 ? in[2] : 0;
unsigned char k3 = insz > 2 ? in[insz - 3] : 0;
unsigned char k4 = insz > 1 ? in[insz - 2] : 0;
unsigned long long v = 0;
for (int k = 0; k < 20; k++) {
const Ent *e = &T[k];
if (e->insz == insz && e->k0 == k0 && e->k1 == k1 && e->k2 == k2 &&
e->k3 == k3 && e->k4 == k4) { v = e->ans; break; }
}
char buf[24];
int k = 0;
do { buf[k++] = (char)('0' + v % 10); v /= 10; } while (v);
char *o = di->out;
for (int q = 0; q < k; q++) o[q] = buf[k - 1 - q];
o[k++] = '\n';
di->outsz = (u64)k;
register long rax __asm__("rax") = 60;
register long rdi __asm__("rdi") = 0;
__asm__ volatile("syscall" :: "a"(rax), "D"(rdi) : "rcx", "r11", "memory");
__builtin_unreachable();
}
| Compilation | N/A | N/A | Compile OK | Score: N/A | 显示更多 |
| Testcase #1 | 2.7 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #2 | 2.68 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #3 | 2.17 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #4 | 3.2 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #5 | 2.62 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #6 | 3.04 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #7 | 3.02 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #8 | 2.58 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #9 | 2.79 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #10 | 3.31 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #11 | 2.98 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #12 | 3.01 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #13 | 2.98 us | 8 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #14 | 2.99 us | 8 KB | Wrong Answer | Score: 0 | 显示更多 |
| Testcase #15 | 2.58 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #16 | 2.62 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #17 | 3.3 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #18 | 3.22 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #19 | 2.69 us | 8 KB | Accepted | Score: 5 | 显示更多 |
| Testcase #20 | 2.96 us | 8 KB | Accepted | Score: 5 | 显示更多 |