実現したいこと
AtCoderの問題である 【ABC085C - Otoshidama 】で解答したコードが不正解となったが、なぜ不正解なのかわからないため教えてほしいです。
解答し、不正解となったコード
dart
1import 'dart:io'; 2 3main() { 4 List<int> inputs = 5 stdin.readLineSync()!.split(' ').map((e) => int.parse(e)).toList(); 6 int n = inputs[0]; 7 int y = inputs[1]; 8 9 for (int a = 0; a <= n; a++) { 10 for (int b = 0; b <= (n - a); b++) { 11 for (int c = (n - b - a); c <= (n - b - a); c++) { 12 if (y == ((a * 10000) + (b * 5000) + (c * 1000))) { 13 print("$a $b $c"); 14 return; 15 } 16 } 17 } 18 } 19 20 print("-1 -1 -1"); 21} 22
正解となるコード
dart
1import 'dart:io'; 2 3main() { 4 List<String> input = stdin.readLineSync()!.split(' '); 5 int n = int.parse(input[0]); 6 int y = int.parse(input[1]); 7 8 int a = -1; 9 int b = -1; 10 int c = -1; 11 12 for (int i = 0; i <= n; i++) { 13 for (int j = 0; j <= n - i; j++) { 14 int k = n - i - j; 15 print(k); 16 int total = 10000 * i + 5000 * j + 1000 * k; 17 if (total == y) { 18 a = i; 19 b = j; 20 c = k; 21 } 22 } 23 } 24 25 print('$a $b $c'); 26}
不明点
不正解となったコードで、問題ページに記載されている入力例/出力例は全て試し、問題ない出力がされました。
無駄のあるコードだとは思うのですが、出力結果として何故不正解になるのかがわかりません。
ご教示いただけますと有難いです。
宜しくお願いいたします。
回答1件
あなたの回答
tips
プレビュー