# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
72110 | 2018-08-26T05:19:47 Z | Semteo For Ajou(#2257, tph00300, txepahs, bmw) | 디스토브 (FXCUP3_dstorv) | C++17 | 2 ms | 484 KB |
#include <stdio.h> char inp[5000]; unsigned long long GCD(unsigned long long p, unsigned long long q) { unsigned long long mo; while (q != 0) { mo = p % q; p = q; q = mo; } return p; } int main() { int n, r, h, A, B, cnta, cntb, i; unsigned long long p, q, t, ans; scanf("%d %d %d", &n, &r, &h); scanf("%s", inp); scanf("%d %d", &A, &B); cnta = cntb = 0; for (i = 0; i < n; i++) { if (inp[i] == 'R') cnta++; else if (inp[i] == 'H') cntb++; } cnta = cnta - A; cntb = cntb - B; p = q = 1; for (i = 1; i <= cnta; i++) { t = GCD(r, r + h); p = p * (r / t); q = q * ((r + h) / t); t = GCD(p, q); p = p / t; q = q / t; } for (i = 1; i <= cntb; i++) { t = GCD(h, r + h); p = p * (h / t); q = q * ((r + h) / t); t = GCD(p, q); p = p / t; q = q / t; } ans = 1; while (((1000000007 * ans + p) / q) < 1000000007) { if(((1000000007 * ans + p) % q) == 0) break; ans++; } printf("%lld\n", (1000000007 * ans + p) / q); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 248 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 2 ms | 484 KB | Execution killed with signal 8 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 2 ms | 248 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |