結果
問題 | No.438 Cwwプログラミング入門 |
ユーザー | bal4u |
提出日時 | 2019-06-27 13:50:22 |
言語 | C (gcc 12.3.0) |
結果 |
OLE
|
実行時間 | - |
コード長 | 1,801 bytes |
コンパイル時間 | 278 ms |
コンパイル使用メモリ | 32,128 KB |
実行使用メモリ | 8,348 KB |
最終ジャッジ日時 | 2024-06-27 20:54:49 |
合計ジャッジ時間 | 9,724 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
8,348 KB |
testcase_01 | AC | 1 ms
5,376 KB |
testcase_02 | AC | 1 ms
5,376 KB |
testcase_03 | AC | 1 ms
5,376 KB |
testcase_04 | AC | 1 ms
5,376 KB |
testcase_05 | AC | 1 ms
5,376 KB |
testcase_06 | AC | 1 ms
5,376 KB |
testcase_07 | AC | 1 ms
5,376 KB |
testcase_08 | AC | 1 ms
5,376 KB |
testcase_09 | AC | 1 ms
5,376 KB |
testcase_10 | AC | 1 ms
5,376 KB |
testcase_11 | AC | 1 ms
5,376 KB |
testcase_12 | AC | 1 ms
5,376 KB |
testcase_13 | AC | 1 ms
5,376 KB |
testcase_14 | AC | 1 ms
5,376 KB |
testcase_15 | AC | 1 ms
5,376 KB |
testcase_16 | AC | 1 ms
5,376 KB |
testcase_17 | AC | 1 ms
5,376 KB |
testcase_18 | AC | 1 ms
5,376 KB |
testcase_19 | AC | 1 ms
5,376 KB |
testcase_20 | AC | 1 ms
5,376 KB |
testcase_21 | AC | 1 ms
5,376 KB |
testcase_22 | AC | 1 ms
5,376 KB |
testcase_23 | AC | 1 ms
5,376 KB |
testcase_24 | AC | 1 ms
5,376 KB |
testcase_25 | AC | 1 ms
5,376 KB |
testcase_26 | AC | 1 ms
5,376 KB |
testcase_27 | AC | 1 ms
5,376 KB |
testcase_28 | AC | 1 ms
5,376 KB |
testcase_29 | AC | 1 ms
5,376 KB |
testcase_30 | AC | 1 ms
5,376 KB |
testcase_31 | AC | 1 ms
5,376 KB |
testcase_32 | AC | 1 ms
5,376 KB |
testcase_33 | AC | 1 ms
5,376 KB |
testcase_34 | OLE | - |
testcase_35 | -- | - |
testcase_36 | -- | - |
testcase_37 | -- | - |
testcase_38 | -- | - |
testcase_39 | -- | - |
testcase_40 | -- | - |
testcase_41 | -- | - |
testcase_42 | -- | - |
testcase_43 | -- | - |
testcase_44 | -- | - |
testcase_45 | -- | - |
testcase_46 | -- | - |
testcase_47 | -- | - |
testcase_48 | -- | - |
testcase_49 | -- | - |
testcase_50 | -- | - |
testcase_51 | -- | - |
testcase_52 | -- | - |
testcase_53 | -- | - |
testcase_54 | -- | - |
testcase_55 | -- | - |
testcase_56 | -- | - |
testcase_57 | -- | - |
testcase_58 | -- | - |
testcase_59 | -- | - |
testcase_60 | -- | - |
testcase_61 | -- | - |
testcase_62 | -- | - |
testcase_63 | -- | - |
testcase_64 | -- | - |
testcase_65 | -- | - |
testcase_66 | -- | - |
testcase_67 | -- | - |
testcase_68 | -- | - |
testcase_69 | -- | - |
testcase_70 | -- | - |
testcase_71 | -- | - |
testcase_72 | -- | - |
testcase_73 | -- | - |
testcase_74 | -- | - |
testcase_75 | -- | - |
testcase_76 | -- | - |
testcase_77 | -- | - |
testcase_78 | -- | - |
testcase_79 | -- | - |
testcase_80 | -- | - |
testcase_81 | -- | - |
testcase_82 | -- | - |
testcase_83 | -- | - |
testcase_84 | -- | - |
testcase_85 | -- | - |
testcase_86 | -- | - |
testcase_87 | -- | - |
testcase_88 | -- | - |
testcase_89 | -- | - |
testcase_90 | -- | - |
testcase_91 | -- | - |
testcase_92 | -- | - |
testcase_93 | -- | - |
testcase_94 | -- | - |
testcase_95 | -- | - |
testcase_96 | -- | - |
testcase_97 | -- | - |
testcase_98 | -- | - |
testcase_99 | -- | - |
testcase_100 | -- | - |
コンパイルメッセージ
main.c: In function 'in': main.c:9:14: warning: implicit declaration of function 'getchar_unlocked' [-Wimplicit-function-declaration] 9 | #define gc() getchar_unlocked() | ^~~~~~~~~~~~~~~~ main.c:17:24: note: in expansion of macro 'gc' 17 | int n = 0, c = gc(); | ^~ main.c: In function 'pcs': main.c:10:15: warning: implicit declaration of function 'putchar_unlocked' [-Wimplicit-function-declaration] 10 | #define pc(c) putchar_unlocked(c) | ^~~~~~~~~~~~~~~~ main.c:23:39: note: in expansion of macro 'pc' 23 | void pcs(int n, char c) { while (n--) pc(c); } | ^~
ソースコード
// yukicoder: No.438 Cwwプログラミング入門 // 2019.6.27 bal4u #include <stdio.h> typedef long long ll; #if 1 #define gc() getchar_unlocked() #define pc(c) putchar_unlocked(c) #else #define gc() getchar() #define pc(c) putchar(c) #endif int in() // 非負整数の入力 { int n = 0, c = gc(); do n = 10 * n + (c & 0xf); while ((c = gc()) >= '0'); return n; } #define ABS(x) ((x)>=0?(x):-(x)) void pcs(int n, char c) { while (n--) pc(c); } void outs(char *s) { while (*s) pc(*s++); pc('\n'); } int extended_gcd(int a, int b, int *x, int *y) { int d; if (b == 0) { *x = 1; *y = 0; return a; } d = extended_gcd(b, a%b, y, x); *y -= a / b * (*x); return d; } int x, y, z; int a, b, d; ll X, Y; ll calc(int s) { X = (z/d)*(ll)a - (y/d)*(ll)s; Y = (z/d)*(ll)b + (x/d)*(ll)s; return ABS(X) + ABS(Y); } int findMin(int l, int r) { int m; while (r-l > 1) { m = (l + r) >> 1; if (calc(m) - calc(m-1) < 0) l = m; else r = m; } return l; } int main() { int s; x = in(), y = in(), z = in(); if (x == 0 && y == 0) { if (z == 0) { outs("ccC"); return 0; } goto err; } if (x == 0) { if (z % y == 0 && z / y <= 5000) { pcs(z/y, 'w'), pcs(z/y-1, 'C'), pc('\n'); return 0; } goto err; } if (y == 0 || x == y) { if (z % x == 0 && z / x <= 5000) { pcs(z/x, 'c'), pcs(z/x-1, 'C'), pc('\n'); return 0; } goto err; } d = extended_gcd(x, y, &a, &b); if (z % d) goto err; s = findMin(-100005, 100005); if (calc(s) > 5000) goto err; x = (int)X, y = (int)Y; if (x < 0) { x = -x; pcs(x, 'c'), pcs(y, 'w'); pcs(y-1, 'C'), pcs(x, 'W'); } else if (y < 0) { y = -y; pcs(y, 'w'), pcs(x, 'c'); pcs(x-1, 'C'), pcs(y, 'W'); } else { pcs(x, 'c'), pcs(y, 'w'); pcs(x+y-1, 'C'); } pc('\n'); return 0; err: outs("NO"); return 0; }