Skip to content

Instantly share code, notes, and snippets.

@mastersobg
Created December 14, 2012 20:15
Show Gist options
  • Save mastersobg/4288297 to your computer and use it in GitHub Desktop.
Save mastersobg/4288297 to your computer and use it in GitHub Desktop.
Compiled from "Solution.java"
public class Solution {
java.io.BufferedReader in;
java.util.StringTokenizer st;
java.io.PrintWriter out;
int n;
int m;
int k;
int[] v;
short[][] precalc;
void solve() throws java.io.IOException;
Code:
0: invokestatic #25 // Method java/lang/System.currentTimeMillis:()J
3: lstore_1
4: aload_0
5: aload_0
6: invokevirtual #31 // Method ni:()I
9: putfield #35 // Field n:I
12: aload_0
13: aload_0
14: invokevirtual #31 // Method ni:()I
17: putfield #37 // Field k:I
20: aload_0
21: iconst_0
22: putfield #39 // Field m:I
25: aload_0
26: aload_0
27: getfield #35 // Field n:I
30: newarray int
32: putfield #41 // Field v:[I
35: iconst_0
36: istore_3
37: goto 72
40: aload_0
41: getfield #41 // Field v:[I
44: iload_3
45: aload_0
46: invokevirtual #31 // Method ni:()I
49: iconst_1
50: isub
51: iastore
52: aload_0
53: aload_0
54: getfield #39 // Field m:I
57: aload_0
58: getfield #41 // Field v:[I
61: iload_3
62: iaload
63: invokestatic #43 // Method java/lang/Math.max:(II)I
66: putfield #39 // Field m:I
69: iinc 3, 1
72: iload_3
73: aload_0
74: getfield #35 // Field n:I
77: if_icmplt 40
80: aload_0
81: dup
82: getfield #39 // Field m:I
85: iconst_1
86: iadd
87: putfield #39 // Field m:I
90: aload_0
91: aload_0
92: getfield #39 // Field m:I
95: aload_0
96: getfield #35 // Field n:I
99: iconst_1
100: iadd
101: multianewarray #49, 2 // class "[[S"
105: putfield #50 // Field precalc:[[S
108: iconst_0
109: istore_3
110: goto 172
113: aload_0
114: getfield #50 // Field precalc:[[S
117: iload_3
118: aaload
119: astore 4
121: iconst_0
122: istore 5
124: goto 160
127: aload 4
129: iload 5
131: iconst_1
132: iadd
133: aload 4
135: iload 5
137: saload
138: aload_0
139: getfield #41 // Field v:[I
142: iload 5
144: iaload
145: iload_3
146: if_icmpne 153
149: iconst_1
150: goto 154
153: iconst_0
154: iadd
155: i2s
156: sastore
157: iinc 5, 1
160: iload 5
162: aload_0
163: getfield #35 // Field n:I
166: if_icmplt 127
169: iinc 3, 1
172: iload_3
173: aload_0
174: getfield #39 // Field m:I
177: if_icmplt 113
180: new #52 // class java/lang/StringBuilder
183: dup
184: invokespecial #54 // Method java/lang/StringBuilder."<init>":()V
187: astore_3
188: iconst_0
189: istore 4
191: goto 221
194: aload_3
195: aload_0
196: aload_0
197: invokevirtual #31 // Method ni:()I
200: aload_0
201: invokevirtual #31 // Method ni:()I
204: invokevirtual #57 // Method calc:(II)I
207: invokevirtual #60 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
210: pop
211: aload_3
212: bipush 10
214: invokevirtual #64 // Method java/lang/StringBuilder.append:(C)Ljava/lang/StringBuilder;
217: pop
218: iinc 4, 1
221: iload 4
223: aload_0
224: getfield #37 // Field k:I
227: if_icmplt 194
230: aload_0
231: getfield #67 // Field out:Ljava/io/PrintWriter;
234: aload_3
235: invokevirtual #69 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
238: invokevirtual #73 // Method java/io/PrintWriter.println:(Ljava/lang/String;)V
241: getstatic #79 // Field java/lang/System.err:Ljava/io/PrintStream;
244: invokestatic #25 // Method java/lang/System.currentTimeMillis:()J
247: lload_1
248: lsub
249: invokevirtual #83 // Method java/io/PrintStream.println:(J)V
252: return
int calc(int, int);
Code:
0: iconst_0
1: istore_3
2: iconst_0
3: istore 4
5: goto 37
8: aload_0
9: getfield #50 // Field precalc:[[S
12: iload 4
14: aaload
15: astore 5
17: aload 5
19: iload_2
20: saload
21: aload 5
23: iload_1
24: iconst_1
25: isub
26: saload
27: isub
28: ifle 34
31: iinc 3, 1
34: iinc 4, 1
37: iload 4
39: aload_0
40: getfield #39 // Field m:I
43: if_icmplt 8
46: iload_3
47: ireturn
public Solution() throws java.io.IOException;
Code:
0: aload_0
1: invokespecial #106 // Method java/lang/Object."<init>":()V
4: getstatic #107 // Field java/util/Locale.US:Ljava/util/Locale;
7: invokestatic #113 // Method java/util/Locale.setDefault:(Ljava/util/Locale;)V
10: aload_0
11: new #117 // class java/io/BufferedReader
14: dup
15: new #119 // class java/io/FileReader
18: dup
19: ldc #121 // String input.txt
21: invokespecial #123 // Method java/io/FileReader."<init>":(Ljava/lang/String;)V
24: invokespecial #125 // Method java/io/BufferedReader."<init>":(Ljava/io/Reader;)V
27: putfield #128 // Field in:Ljava/io/BufferedReader;
30: aload_0
31: new #74 // class java/io/PrintWriter
34: dup
35: ldc #130 // String output.txt
37: invokespecial #132 // Method java/io/PrintWriter."<init>":(Ljava/lang/String;)V
40: putfield #67 // Field out:Ljava/io/PrintWriter;
43: aload_0
44: invokevirtual #133 // Method solve:()V
47: aload_0
48: getfield #128 // Field in:Ljava/io/BufferedReader;
51: invokevirtual #135 // Method java/io/BufferedReader.close:()V
54: aload_0
55: getfield #67 // Field out:Ljava/io/PrintWriter;
58: invokevirtual #138 // Method java/io/PrintWriter.close:()V
61: return
java.lang.String ns() throws java.io.IOException;
Code:
0: goto 21
3: aload_0
4: new #140 // class java/util/StringTokenizer
7: dup
8: aload_0
9: getfield #128 // Field in:Ljava/io/BufferedReader;
12: invokevirtual #142 // Method java/io/BufferedReader.readLine:()Ljava/lang/String;
15: invokespecial #145 // Method java/util/StringTokenizer."<init>":(Ljava/lang/String;)V
18: putfield #146 // Field st:Ljava/util/StringTokenizer;
21: aload_0
22: getfield #146 // Field st:Ljava/util/StringTokenizer;
25: ifnull 3
28: aload_0
29: getfield #146 // Field st:Ljava/util/StringTokenizer;
32: invokevirtual #148 // Method java/util/StringTokenizer.hasMoreTokens:()Z
35: ifeq 3
38: aload_0
39: getfield #146 // Field st:Ljava/util/StringTokenizer;
42: invokevirtual #152 // Method java/util/StringTokenizer.nextToken:()Ljava/lang/String;
45: areturn
int ni() throws java.io.IOException;
Code:
0: aload_0
1: invokevirtual #155 // Method ns:()Ljava/lang/String;
4: astore_1
5: iconst_0
6: istore_2
7: iconst_0
8: istore_3
9: goto 29
12: iload_2
13: bipush 10
15: imul
16: aload_1
17: iload_3
18: invokevirtual #157 // Method java/lang/String.charAt:(I)C
21: bipush 48
23: isub
24: iadd
25: istore_2
26: iinc 3, 1
29: iload_3
30: aload_1
31: invokevirtual #163 // Method java/lang/String.length:()I
34: if_icmplt 12
37: iload_2
38: ireturn
long nl() throws java.io.IOException;
Code:
0: aload_0
1: invokevirtual #155 // Method ns:()Ljava/lang/String;
4: invokestatic #169 // Method java/lang/Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
7: invokevirtual #175 // Method java/lang/Long.longValue:()J
10: lreturn
double nd() throws java.io.IOException;
Code:
0: aload_0
1: invokevirtual #155 // Method ns:()Ljava/lang/String;
4: invokestatic #180 // Method java/lang/Double.valueOf:(Ljava/lang/String;)Ljava/lang/Double;
7: invokevirtual #185 // Method java/lang/Double.doubleValue:()D
10: dreturn
public static void main(java.lang.String[]) throws java.io.IOException;
Code:
0: new #1 // class Solution
3: invokespecial #190 // Method "<init>":()V
6: return
void generateTest() throws java.io.FileNotFoundException;
Code:
0: new #74 // class java/io/PrintWriter
3: dup
4: ldc #196 // String test
6: invokespecial #132 // Method java/io/PrintWriter."<init>":(Ljava/lang/String;)V
9: astore_1
10: ldc #198 // int 100000
12: istore_2
13: aload_1
14: new #52 // class java/lang/StringBuilder
17: dup
18: ldc #199 // String 10000
20: invokespecial #201 // Method java/lang/StringBuilder."<init>":(Ljava/lang/String;)V
23: iload_2
24: invokevirtual #60 // Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
27: invokevirtual #69 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
30: invokevirtual #73 // Method java/io/PrintWriter.println:(Ljava/lang/String;)V
33: iconst_1
34: istore_3
35: iconst_0
36: istore 4
38: goto 79
41: aload_1
42: new #52 // class java/lang/StringBuilder
45: dup
46: iload_3
47: invokestatic #202 // Method java/lang/String.valueOf:(I)Ljava/lang/String;
50: invokespecial #201 // Method java/lang/StringBuilder."<init>":(Ljava/lang/String;)V
53: ldc #205 // String
55: invokevirtual #207 // Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
58: invokevirtual #69 // Method java/lang/StringBuilder.toString:()Ljava/lang/String;
61: invokevirtual #210 // Method java/io/PrintWriter.print:(Ljava/lang/String;)V
64: iinc 3, 1
67: iload_3
68: sipush 255
71: if_icmple 76
74: iconst_1
75: istore_3
76: iinc 4, 1
79: iload 4
81: sipush 10000
84: if_icmplt 41
87: new #213 // class java/util/Random
90: dup
91: invokespecial #215 // Method java/util/Random."<init>":()V
94: astore 4
96: iconst_0
97: istore 5
99: goto 111
102: aload_1
103: ldc #216 // String 1 10000
105: invokevirtual #73 // Method java/io/PrintWriter.println:(Ljava/lang/String;)V
108: iinc 5, 1
111: iload 5
113: iload_2
114: if_icmplt 102
117: aload_1
118: invokevirtual #138 // Method java/io/PrintWriter.close:()V
121: return
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment