diff --git a/kurisu/src/C116.java b/kurisu/src/C116.java new file mode 100644 index 0000000000000000000000000000000000000000..a265001ea8bcfa93f5c3ad12acd031333ec36f74 --- /dev/null +++ b/kurisu/src/C116.java @@ -0,0 +1,57 @@ +import java.util.Scanner; + +public class C116 { + public static void main(String[] args) throws Exception { + Scanner sc = new Scanner(System.in); + + final int allStick = sc.nextInt(); + final int checkRange = sc.nextInt(); + + CheckStick resultFlag = new CheckStick(); + final boolean inspectResult = resultFlag.isInspectionStick(allStick, checkRange, sc); + + ShowResult result = new ShowResult(); + result.outputResult(inspectResult); + + sc.close(); + } +} + + +class CheckStick { + + // 外れ棒の連続回数が指定回数より上回ればフラグをtrue、それ以外はfalseを返す + final boolean isInspectionStick(final int stick, final int checkRange, final Scanner sc) { + int consectiveMark = 0; + boolean wrongFlag = false; + + for (int i = 0; i < stick; i++) { + final int stickResult = sc.nextInt(); + + if (consectiveMark < checkRange) { + // 外れが連続すればカウントしていく + if (stickResult == 0) { + consectiveMark++; + // 連続が途切れた場合カウントを最初からやり直す + } else { + consectiveMark = 0; + } + } else { + wrongFlag = true; + } + } + return wrongFlag; + } +} + + +class ShowResult { + + void outputResult(final boolean inspectResult) { + if (inspectResult == true) { + System.out.println("NG"); + } else { + System.out.println("OK"); + } + } +}