Submission #62302
Source Code Expand
import java.io.*; import java.math.BigInteger; import java.util.*; public class Main { private static final int mod = (int)1e9+7; // static final int[] positive; void imosHexagon(final long[][] v, final int x, int y, int r, int val) { v[y-r+2][x] -= val; v[y-r+2][x+r-1] += val; v[y-r+1][x+r] -= val; v[y-r+1][x] += val; v[y+1][x+r-1] -= val; v[y+1][x+r] += val; v[y+1][x-r] -= val; v[y+1][x-r+1] += val; v[y+r+1][x-r] += val; v[y+r][x-r+1] -= val; v[y+r+1][x] -= val; v[y+r][x] += val; } void runImosHexagon(final long[][] v) { // 右 for(int y = 0; y < v.length; y++) { for(int x = 1; x < v[y].length; x++) { v[y][x] += v[y][x-1]; } } // 右上 for(int x = 0; x < v[0].length; x++) { for(int y = 1; y < v.length; y++) { v[y][x] += v[y-1][x]; } } // 左上 for(int x_ = 0; x_ < v[0].length; x_++) { for(int y = 1, x = x_ - 1; 0 <= x && y < v.length; y++, x--) { v[y][x] += v[y-1][x+1]; } } for(int y_ = 1; y_ < v.length - 1; y_++) { for(int y = y_ + 1, x = v[0].length - 2; 0 <= x && y < v.length; y++, x--) { v[y][x] += v[y-1][x+1]; } } } void runTestImos() { final long[][] val = new long[10][10]; imosHexagon(val, 5, 5, 1, 1); runImosHexagon(val); for(int y = val.length - 1; y >= 0; y--) { for(int x = 0; x < val[y].length; x++) { IOFast.out.printf("%02d ", val[y][x]); } IOFast.out.println(); } } public void run() throws IOException { // runTestImos(); // if(true) return; final int n = IOFast.nextInt(); final long[][] val = new long[2011][2011]; final int base = val.length / 2; for(int i = 0; i < n; i++) { final int t = IOFast.nextInt(); final int x = IOFast.nextInt() + base; final int y = IOFast.nextInt() + base; final int s = IOFast.nextInt(); if(t == 1) { imosHexagon(val, x, y, s, 1); } else if(t == 2) { for(int j = 1; j <= s; j++) { imosHexagon(val, x, y, j, 1); } } else { for(int j = s, k = 1; j >= 1; j--, k += 2) { imosHexagon(val, x, y, j, k); } } } runImosHexagon(val); long res = 0; for(int y = 0; y < val.length; y++) { for(int x = 0; x < val[y].length; x++) { res = Math.max(val[y][x], res); } } IOFast.out.println(res); } public static void main(String[] args) throws IOException { // IOFast.setFileIO("rle-size.in", "rle-size.out"); new Main().run(); IOFast.out.flush(); } static public class IOFast { private static BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); private static PrintWriter out = new PrintWriter(System.out); static void setFileIO(String ins, String outs) throws IOException { try { in = new BufferedReader(new FileReader(ins)); out = new PrintWriter(new FileWriter(outs)); } catch(IOException e) { System.err.println(e); throw e; } } // private static final int BUFFER_SIZE = 50 * 200000; private static int pos, readLen; private static final char[] buffer = new char[1024 * 8]; private static final StringBuilder buf = new StringBuilder(); private static boolean[] isDigit = new boolean[256]; private static boolean[] isSpace = new boolean[256]; static { for(int i = 0; i < 10; i++) { isDigit['0' + i] = true; } isDigit['-'] = true; isSpace[' '] = isSpace['\r'] = isSpace['\n'] = isSpace['\t'] = true; } static boolean endInput; private static int read() throws IOException { if(readLen == -1) { return -1; } if(pos >= readLen) { readLen = in.read(buffer); pos = 0; if(readLen <= 0) { return -1; } } return buffer[pos++]; } private static int nextInt() throws IOException { boolean plus = false; int ret = 0; while(true) { final int c = read(); if(c == -1) { endInput = true; return Integer.MIN_VALUE; } if(isDigit[c]) { if(c != '-') { plus = true; ret = c - '0'; } break; } } while(true) { final int c = read(); if(c == -1 || !isDigit[c]) { break; } ret = ret * 10 + c - '0'; } return plus ? ret : -ret; } private static long nextLong() throws IOException { boolean plus = false; long ret = 0; while(true) { final int c = read(); if(c == -1) { endInput = true; return Integer.MIN_VALUE; } if(isDigit[c]) { if(c != '-') { plus = true; ret = c - '0'; } break; } } while(true) { final int c = read(); if(c == -1 || !isDigit[c]) { break; } ret = ret * 10 + c - '0'; } return plus ? ret : -ret; } private static char nextChar() throws IOException { while(true) { final int c = read(); if(c == -1) { endInput = true; return '\0'; } if(!isSpace[c]) { return (char)c; } } } private static String next() throws IOException { buf.setLength(0); while(true) { final int c = read(); if(c == -1) { endInput = true; return "-1"; } if(!isSpace[c]) { buf.append((char)c); break; } } while(true) { final int c = read(); if(c == -1 || isSpace[c]) { break; } buf.append((char)c); } return buf.toString(); } private static double nextDouble() throws IOException { return Double.parseDouble(next()); } } }
Submission Info
Submission Time | |
---|---|
Task | I - その味は甘くて |
User | tanzaku |
Language | Java (OpenJDK 1.7.0) |
Score | 150 |
Code Size | 5684 Byte |
Status | AC |
Exec Time | 1131 ms |
Memory | 58116 KB |
Judge Result
Set Name | small | large1 | large3 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 10 / 10 | 40 / 40 | 100 / 100 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
small | small/case_000.txt, small/case_001.txt, small/case_002.txt, small/case_003.txt, small/case_004.txt, small/case_005.txt, small/case_006.txt, small/case_007.txt, small/case_008.txt, small/case_009.txt, small/case_010.txt, small/case_011.txt, small/case_012.txt, small/case_013.txt, small/case_014.txt, small/case_015.txt, small/case_024.txt, small/case_025.txt, small/case_026.txt, small/case_027.txt |
large1 | large1/case_000.txt, large1/case_001.txt, large1/case_002.txt, large1/case_003.txt, large1/case_004.txt, large1/case_005.txt, large1/case_006.txt, large1/case_007.txt, large1/case_008.txt, large1/case_009.txt, large1/case_010.txt, large1/case_011.txt, large1/case_012.txt, large1/case_013.txt, large1/case_014.txt, large1/case_015.txt, large1/case_024.txt, large1/case_025.txt, large1/case_026.txt, large1/case_027.txt, large1/large1_case_000.txt, large1/large1_case_001.txt, large1/large1_case_002.txt, large1/large1_case_003.txt, large1/large1_case_004.txt, large1/large1_case_005.txt, large1/large1_case_006.txt, large1/large1_case_007.txt, large1/large1_case_008.txt, large1/large1_case_009.txt, large1/large1_case_010.txt, large1/large1_case_011.txt, large1/large1_case_012.txt, large1/large1_case_013.txt, large1/large1_case_014.txt, large1/large1_case_020.txt, large1/large1_case_021.txt, large1/large1_case_022.txt, large1/large1_case_023.txt |
large3 | large3/case_000.txt, large3/case_001.txt, large3/case_002.txt, large3/case_003.txt, large3/case_004.txt, large3/case_005.txt, large3/case_006.txt, large3/case_007.txt, large3/case_008.txt, large3/case_009.txt, large3/case_010.txt, large3/case_011.txt, large3/case_012.txt, large3/case_013.txt, large3/case_014.txt, large3/case_015.txt, large3/case_024.txt, large3/case_025.txt, large3/case_026.txt, large3/case_027.txt, large3/large1_case_000.txt, large3/large1_case_001.txt, large3/large1_case_002.txt, large3/large1_case_003.txt, large3/large1_case_004.txt, large3/large1_case_005.txt, large3/large1_case_006.txt, large3/large1_case_007.txt, large3/large1_case_008.txt, large3/large1_case_009.txt, large3/large1_case_010.txt, large3/large1_case_011.txt, large3/large1_case_012.txt, large3/large1_case_013.txt, large3/large1_case_014.txt, large3/large1_case_020.txt, large3/large1_case_021.txt, large3/large1_case_022.txt, large3/large1_case_023.txt, large3/large3_case_000.txt, large3/large3_case_001.txt, large3/large3_case_002.txt, large3/large3_case_003.txt, large3/large3_case_004.txt, large3/large3_case_005.txt, large3/large3_case_006.txt, large3/large3_case_007.txt, large3/large3_case_008.txt, large3/large3_case_009.txt, large3/large3_case_010.txt, large3/large3_case_011.txt, large3/large3_case_012.txt, large3/large3_case_013.txt, large3/large3_case_014.txt, large3/large3_case_015.txt, large3/large3_case_016.txt, large3/large3_case_017.txt, large3/large3_case_018.txt, large3/large3_case_019.txt, large3/large3_case_020.txt, large3/large3_case_021.txt, large3/large3_case_022.txt, large3/large3_case_023.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
large1/case_000.txt | AC | 758 ms | 53776 KB |
large1/case_001.txt | AC | 746 ms | 53880 KB |
large1/case_002.txt | AC | 748 ms | 53876 KB |
large1/case_003.txt | AC | 739 ms | 53872 KB |
large1/case_004.txt | AC | 756 ms | 53784 KB |
large1/case_005.txt | AC | 768 ms | 53840 KB |
large1/case_006.txt | AC | 727 ms | 53788 KB |
large1/case_007.txt | AC | 741 ms | 53772 KB |
large1/case_008.txt | AC | 747 ms | 53784 KB |
large1/case_009.txt | AC | 762 ms | 53852 KB |
large1/case_010.txt | AC | 757 ms | 53868 KB |
large1/case_011.txt | AC | 750 ms | 53824 KB |
large1/case_012.txt | AC | 775 ms | 53776 KB |
large1/case_013.txt | AC | 754 ms | 53780 KB |
large1/case_014.txt | AC | 767 ms | 53884 KB |
large1/case_015.txt | AC | 804 ms | 53868 KB |
large1/case_024.txt | AC | 774 ms | 53768 KB |
large1/case_025.txt | AC | 752 ms | 53784 KB |
large1/case_026.txt | AC | 769 ms | 53892 KB |
large1/case_027.txt | AC | 768 ms | 53884 KB |
large1/large1_case_000.txt | AC | 796 ms | 54516 KB |
large1/large1_case_001.txt | AC | 795 ms | 54676 KB |
large1/large1_case_002.txt | AC | 799 ms | 54720 KB |
large1/large1_case_003.txt | AC | 793 ms | 54580 KB |
large1/large1_case_004.txt | AC | 816 ms | 54556 KB |
large1/large1_case_005.txt | AC | 805 ms | 54544 KB |
large1/large1_case_006.txt | AC | 793 ms | 54396 KB |
large1/large1_case_007.txt | AC | 792 ms | 54548 KB |
large1/large1_case_008.txt | AC | 787 ms | 54628 KB |
large1/large1_case_009.txt | AC | 801 ms | 54640 KB |
large1/large1_case_010.txt | AC | 783 ms | 54540 KB |
large1/large1_case_011.txt | AC | 798 ms | 54796 KB |
large1/large1_case_012.txt | AC | 780 ms | 54280 KB |
large1/large1_case_013.txt | AC | 789 ms | 54616 KB |
large1/large1_case_014.txt | AC | 830 ms | 54848 KB |
large1/large1_case_020.txt | AC | 785 ms | 54540 KB |
large1/large1_case_021.txt | AC | 783 ms | 54632 KB |
large1/large1_case_022.txt | AC | 787 ms | 54652 KB |
large1/large1_case_023.txt | AC | 784 ms | 54544 KB |
large3/case_000.txt | AC | 753 ms | 53776 KB |
large3/case_001.txt | AC | 742 ms | 53876 KB |
large3/case_002.txt | AC | 766 ms | 53772 KB |
large3/case_003.txt | AC | 760 ms | 53828 KB |
large3/case_004.txt | AC | 763 ms | 53880 KB |
large3/case_005.txt | AC | 767 ms | 53924 KB |
large3/case_006.txt | AC | 760 ms | 53780 KB |
large3/case_007.txt | AC | 753 ms | 53876 KB |
large3/case_008.txt | AC | 759 ms | 53876 KB |
large3/case_009.txt | AC | 752 ms | 53876 KB |
large3/case_010.txt | AC | 767 ms | 53876 KB |
large3/case_011.txt | AC | 770 ms | 53792 KB |
large3/case_012.txt | AC | 764 ms | 53788 KB |
large3/case_013.txt | AC | 759 ms | 53780 KB |
large3/case_014.txt | AC | 754 ms | 53744 KB |
large3/case_015.txt | AC | 737 ms | 53876 KB |
large3/case_024.txt | AC | 777 ms | 53748 KB |
large3/case_025.txt | AC | 753 ms | 53780 KB |
large3/case_026.txt | AC | 737 ms | 53824 KB |
large3/case_027.txt | AC | 753 ms | 53824 KB |
large3/large1_case_000.txt | AC | 809 ms | 54608 KB |
large3/large1_case_001.txt | AC | 793 ms | 54476 KB |
large3/large1_case_002.txt | AC | 798 ms | 54408 KB |
large3/large1_case_003.txt | AC | 993 ms | 54544 KB |
large3/large1_case_004.txt | AC | 774 ms | 54548 KB |
large3/large1_case_005.txt | AC | 784 ms | 54580 KB |
large3/large1_case_006.txt | AC | 804 ms | 54492 KB |
large3/large1_case_007.txt | AC | 790 ms | 54504 KB |
large3/large1_case_008.txt | AC | 796 ms | 54628 KB |
large3/large1_case_009.txt | AC | 809 ms | 54420 KB |
large3/large1_case_010.txt | AC | 810 ms | 54668 KB |
large3/large1_case_011.txt | AC | 805 ms | 54492 KB |
large3/large1_case_012.txt | AC | 792 ms | 54428 KB |
large3/large1_case_013.txt | AC | 801 ms | 54460 KB |
large3/large1_case_014.txt | AC | 783 ms | 54548 KB |
large3/large1_case_020.txt | AC | 769 ms | 54540 KB |
large3/large1_case_021.txt | AC | 783 ms | 54412 KB |
large3/large1_case_022.txt | AC | 783 ms | 54628 KB |
large3/large1_case_023.txt | AC | 800 ms | 54276 KB |
large3/large3_case_000.txt | AC | 1046 ms | 54536 KB |
large3/large3_case_001.txt | AC | 1055 ms | 54448 KB |
large3/large3_case_002.txt | AC | 1131 ms | 54476 KB |
large3/large3_case_003.txt | AC | 1081 ms | 54792 KB |
large3/large3_case_004.txt | AC | 1121 ms | 54780 KB |
large3/large3_case_005.txt | AC | 1064 ms | 54704 KB |
large3/large3_case_006.txt | AC | 1063 ms | 54440 KB |
large3/large3_case_007.txt | AC | 1039 ms | 54848 KB |
large3/large3_case_008.txt | AC | 1054 ms | 54620 KB |
large3/large3_case_009.txt | AC | 1116 ms | 54840 KB |
large3/large3_case_010.txt | AC | 1103 ms | 58116 KB |
large3/large3_case_011.txt | AC | 1089 ms | 54644 KB |
large3/large3_case_012.txt | AC | 1045 ms | 55308 KB |
large3/large3_case_013.txt | AC | 1084 ms | 55236 KB |
large3/large3_case_014.txt | AC | 1044 ms | 54564 KB |
large3/large3_case_015.txt | AC | 1111 ms | 54768 KB |
large3/large3_case_016.txt | AC | 1043 ms | 56656 KB |
large3/large3_case_017.txt | AC | 1053 ms | 54400 KB |
large3/large3_case_018.txt | AC | 1098 ms | 54408 KB |
large3/large3_case_019.txt | AC | 1097 ms | 54992 KB |
large3/large3_case_020.txt | AC | 944 ms | 55860 KB |
large3/large3_case_021.txt | AC | 983 ms | 55304 KB |
large3/large3_case_022.txt | AC | 945 ms | 55772 KB |
large3/large3_case_023.txt | AC | 934 ms | 55512 KB |
small/case_000.txt | AC | 749 ms | 53876 KB |
small/case_001.txt | AC | 758 ms | 53928 KB |
small/case_002.txt | AC | 780 ms | 53876 KB |
small/case_003.txt | AC | 759 ms | 53780 KB |
small/case_004.txt | AC | 757 ms | 53784 KB |
small/case_005.txt | AC | 759 ms | 53780 KB |
small/case_006.txt | AC | 770 ms | 53828 KB |
small/case_007.txt | AC | 761 ms | 53872 KB |
small/case_008.txt | AC | 759 ms | 53788 KB |
small/case_009.txt | AC | 769 ms | 53772 KB |
small/case_010.txt | AC | 755 ms | 53868 KB |
small/case_011.txt | AC | 768 ms | 53876 KB |
small/case_012.txt | AC | 747 ms | 53780 KB |
small/case_013.txt | AC | 761 ms | 53876 KB |
small/case_014.txt | AC | 755 ms | 53764 KB |
small/case_015.txt | AC | 752 ms | 53796 KB |
small/case_024.txt | AC | 761 ms | 53872 KB |
small/case_025.txt | AC | 768 ms | 53876 KB |
small/case_026.txt | AC | 763 ms | 53828 KB |
small/case_027.txt | AC | 770 ms | 53776 KB |