Submission #2969305
Source Code Expand
#include <stdio.h> int ng[3]; int min(int a, int b) { return a < b ? a : b; } int dfs(int n, int npos) { if (npos >= 3) { return n / 3 + (n % 3 == 0 ? 0 : 1); } if (n < ng[npos]) return dfs(n, npos+1); int pad = n - ng[npos] - 1; int conf1 = 0, conf2 = 0; for (int i = 1; npos + i < 3; i++) { if (ng[npos] - 1 == ng[npos + i]) conf1 = 1; if (ng[npos] - 2 == ng[npos + i]) conf2 = 2; } if (conf1 && conf2) { return 101; } if (conf2) { return pad / 3 + 1 + dfs(ng[npos] - 1, npos + 1) + (pad % 3 == 2 ? 1 : 0); } if (conf1) { return pad / 3 + 1 + dfs(ng[npos] - 2, npos + 1) + (pad % 3 == 0 ? 0 : 1); } return pad / 3 + 1 + min(dfs(ng[npos]-1,npos+1)+(pad % 3 == 2 ? 1 : 0), dfs(ng[npos]-2,npos+1)+(pad % 3 == 0 ? 0 : 1)); } int main() { int n; scanf("%d%d%d%d", &n, ng, ng+1, ng+2); for (int i = 0; i < 3; i++) { for (int j = i + 1; j < 3; j++) { if (ng[i] < ng[j]) { int tmp = ng[i]; ng[i] = ng[j]; ng[j] = tmp; } } } int npos = 0; while (npos < 3 && ng[npos] > n) npos++; if (npos < 3 && ng[npos] == n) { puts("NO"); return 0; } if (dfs(n, npos) > 100) puts("NO"); else puts("YES"); return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 123引き算 |
User | touyou |
Language | C (GCC 5.4.1) |
Score | 100 |
Code Size | 1396 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 128 KB |
Compile Error
./Main.c: In function ‘main’: ./Main.c:29:12: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result] int n; scanf("%d%d%d%d", &n, ng, ng+1, ng+2); ^
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | sample_01.txt, sample_02.txt, sample_03.txt, test_143_142_141_140.txt, test_1_1_2_3.txt, test_1_2_3_4.txt, test_200_200_2_3.txt, test_231_77_78_80.txt, test_235_124_126_125.txt, test_253_45_47_48.txt, test_297_223_224_225.txt, test_297_294_292_290.txt, test_297_297_30_83.txt, test_297_3_43_72.txt, test_298_125_123_124.txt, test_298_293_295_291.txt, test_298_298_4_8.txt, test_298_36_72_98.txt, test_298_55_3_43.txt, test_298_92_91_295.txt, test_299_200_151_65.txt, test_299_240_35_154.txt, test_299_300_299_298.txt, test_299_33_242_151.txt, test_299_56_57_58.txt, test_299_66_132_198.txt, test_300_271_44_68.txt, test_300_299_298_296.txt, test_300_30_99_183.txt, test_300_4_5_6.txt, test_84_34_64_36.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 128 KB |
sample_02.txt | AC | 0 ms | 128 KB |
sample_03.txt | AC | 0 ms | 128 KB |
test_143_142_141_140.txt | AC | 0 ms | 128 KB |
test_1_1_2_3.txt | AC | 1 ms | 128 KB |
test_1_2_3_4.txt | AC | 1 ms | 128 KB |
test_200_200_2_3.txt | AC | 0 ms | 128 KB |
test_231_77_78_80.txt | AC | 1 ms | 128 KB |
test_235_124_126_125.txt | AC | 0 ms | 128 KB |
test_253_45_47_48.txt | AC | 1 ms | 128 KB |
test_297_223_224_225.txt | AC | 1 ms | 128 KB |
test_297_294_292_290.txt | AC | 1 ms | 128 KB |
test_297_297_30_83.txt | AC | 0 ms | 128 KB |
test_297_3_43_72.txt | AC | 0 ms | 128 KB |
test_298_125_123_124.txt | AC | 1 ms | 128 KB |
test_298_293_295_291.txt | AC | 0 ms | 128 KB |
test_298_298_4_8.txt | AC | 0 ms | 128 KB |
test_298_36_72_98.txt | AC | 0 ms | 128 KB |
test_298_55_3_43.txt | AC | 1 ms | 128 KB |
test_298_92_91_295.txt | AC | 0 ms | 128 KB |
test_299_200_151_65.txt | AC | 1 ms | 128 KB |
test_299_240_35_154.txt | AC | 0 ms | 128 KB |
test_299_300_299_298.txt | AC | 0 ms | 128 KB |
test_299_33_242_151.txt | AC | 1 ms | 128 KB |
test_299_56_57_58.txt | AC | 0 ms | 128 KB |
test_299_66_132_198.txt | AC | 0 ms | 128 KB |
test_300_271_44_68.txt | AC | 0 ms | 128 KB |
test_300_299_298_296.txt | AC | 0 ms | 128 KB |
test_300_30_99_183.txt | AC | 0 ms | 128 KB |
test_300_4_5_6.txt | AC | 0 ms | 128 KB |
test_84_34_64_36.txt | AC | 0 ms | 128 KB |