久々に出場しました。久々の全問正解!嬉しい。最終問題は出力順を間違えてWA⇒変な悩み方で20分くらい無駄に・・・というものでしたが、完答は嬉しいものです。
さて、解答。
A: Cats and Dogs - AtCoder Beginner Contest 094 | AtCoder
1問目はschemeでやりました。
(define a (read)) (define b (read)) (define x (read)) (display (if (and (<= x (+ a b)) (<= a x)) "YES" "NO")) (newline)
B: Toll Gates - AtCoder Beginner Contest 094 | AtCoder
2問目以降はJava。
import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.Arrays; import java.util.InputMismatchException; import java.util.LinkedList; import java.util.PriorityQueue; import java.util.TreeSet; public class Main { public static void main(String[] args) { InputReader sc = new InputReader(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int x = sc.nextInt(); int sumsmall = 0; int sumbig = 0; for(int i = 0; i < m; i++){ int newone = sc.nextInt(); if(newone < x){ sumsmall ++; }else{ sumbig ++; } } if(sumsmall > sumbig){ System.out.println(sumbig); }else{ System.out.println(sumsmall); } } //ここからテンプレ static class InputReader { private InputStream stream; private byte[] buf = new byte[1024]; private int curChar; private int numChars; private SpaceCharFilter filter; public InputReader(InputStream stream) { this.stream = stream; } public int next() { if (numChars == -1) throw new InputMismatchException(); if (curChar >= numChars) { curChar = 0; try { numChars = stream.read(buf); } catch (IOException e) { throw new InputMismatchException(); } if (numChars <= 0) return -1; } return buf[curChar++]; } public String nextStr() { int c = next(); while(isSpaceChar(c)){c = next();} StringBuffer str = new StringBuffer(); do{ str.append((char)c); c = next(); }while(!isSpaceChar(c)); return str.toString(); } public char nextChar() { int c = next(); while(isSpaceChar(c)){c = next();} char ret; do{ ret = (char)c; c = next(); }while(!isSpaceChar(c)); return ret; } public int nextInt() { int c = next(); while (isSpaceChar(c)) c = next(); int sgn = 1; if (c == '-') { sgn = -1; c = next(); } int res = 0; do { if (c < '0' || c > '9') throw new InputMismatchException(); res *= 10; res += c - '0'; c = next(); } while (!isSpaceChar(c)); return res * sgn; } public boolean isSpaceChar(int c) { if (filter != null) return filter.isSpaceChar(c); return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1; } public interface SpaceCharFilter { public boolean isSpaceChar(int ch); } } }
C: Many Medians - AtCoder Beginner Contest 094 | AtCoder
3問目。
import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.Arrays; import java.util.InputMismatchException; import java.util.LinkedList; import java.util.PriorityQueue; import java.util.TreeSet; public class Main { public static void main(String[] args) { InputReader sc = new InputReader(System.in); int n = sc.nextInt(); int[] numlist = new int[n]; int[] sortedlist = new int[n]; for(int i = 0; i < n; i++){ int a = sc.nextInt(); numlist[i] = a; sortedlist[i] = a; } Arrays.sort(sortedlist); int smallcenter = sortedlist[n / 2 - 1]; int bigcenter = sortedlist[n / 2]; for(int i = 0; i < n; i++){ if(numlist[i] == bigcenter){ System.out.println(smallcenter); }else if(numlist[i] == smallcenter){ System.out.println(bigcenter); }else if(numlist[i] < smallcenter){ System.out.println(bigcenter); }else{ System.out.println(smallcenter); } } } //ここからテンプレ static class InputReader { private InputStream stream; private byte[] buf = new byte[1024]; private int curChar; private int numChars; private SpaceCharFilter filter; public InputReader(InputStream stream) { this.stream = stream; } public int next() { if (numChars == -1) throw new InputMismatchException(); if (curChar >= numChars) { curChar = 0; try { numChars = stream.read(buf); } catch (IOException e) { throw new InputMismatchException(); } if (numChars <= 0) return -1; } return buf[curChar++]; } public String nextStr() { int c = next(); while(isSpaceChar(c)){c = next();} StringBuffer str = new StringBuffer(); do{ str.append((char)c); c = next(); }while(!isSpaceChar(c)); return str.toString(); } public char nextChar() { int c = next(); while(isSpaceChar(c)){c = next();} char ret; do{ ret = (char)c; c = next(); }while(!isSpaceChar(c)); return ret; } public int nextInt() { int c = next(); while (isSpaceChar(c)) c = next(); int sgn = 1; if (c == '-') { sgn = -1; c = next(); } int res = 0; do { if (c < '0' || c > '9') throw new InputMismatchException(); res *= 10; res += c - '0'; c = next(); } while (!isSpaceChar(c)); return res * sgn; } public boolean isSpaceChar(int c) { if (filter != null) return filter.isSpaceChar(c); return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1; } public interface SpaceCharFilter { public boolean isSpaceChar(int ch); } } }
D: Binomial Coefficients - AtCoder Beginner Contest 094 | AtCoder
4問目。出力順を逆にしててWAになり、それで変な勘違いをして変なことを考えている間に無駄時間が・・・これも実力。
import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.util.Arrays; import java.util.InputMismatchException; import java.util.LinkedList; import java.util.PriorityQueue; import java.util.TreeSet; public class Main { public static void main(String[] args) { InputReader sc = new InputReader(System.in); int n = sc.nextInt(); int[] numlist = new int[n]; for(int i = 0; i < n; i++){ numlist[i] = sc.nextInt(); } Arrays.sort(numlist); int halfnum = (numlist[n - 1] + 1) / 2; int sa = numlist[n - 1]; int bestnum = 0; for(int i = 0; i < n - 1; i++){ if(Math.abs(numlist[i] - halfnum) < sa){ sa = Math.abs(numlist[i] - halfnum); bestnum = numlist[i]; } } System.out.print(numlist[n - 1]); System.out.print(" "); System.out.println(bestnum); } //ここからテンプレ static class InputReader { private InputStream stream; private byte[] buf = new byte[1024]; private int curChar; private int numChars; private SpaceCharFilter filter; public InputReader(InputStream stream) { this.stream = stream; } public int next() { if (numChars == -1) throw new InputMismatchException(); if (curChar >= numChars) { curChar = 0; try { numChars = stream.read(buf); } catch (IOException e) { throw new InputMismatchException(); } if (numChars <= 0) return -1; } return buf[curChar++]; } public String nextStr() { int c = next(); while(isSpaceChar(c)){c = next();} StringBuffer str = new StringBuffer(); do{ str.append((char)c); c = next(); }while(!isSpaceChar(c)); return str.toString(); } public char nextChar() { int c = next(); while(isSpaceChar(c)){c = next();} char ret; do{ ret = (char)c; c = next(); }while(!isSpaceChar(c)); return ret; } public int nextInt() { int c = next(); while (isSpaceChar(c)) c = next(); int sgn = 1; if (c == '-') { sgn = -1; c = next(); } int res = 0; do { if (c < '0' || c > '9') throw new InputMismatchException(); res *= 10; res += c - '0'; c = next(); } while (!isSpaceChar(c)); return res * sgn; } public boolean isSpaceChar(int c) { if (filter != null) return filter.isSpaceChar(c); return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1; } public interface SpaceCharFilter { public boolean isSpaceChar(int ch); } } }
レーティングも少しあがりました。
なるべく継続して出たいところ!がんばるぞーい