\r
\r
if (!exception)\r
- return -1;\r
+ return 1;\r
\r
exception = false;\r
\r
i = (int)a;\r
}\r
} catch (Exception) {\r
- return -2;\r
+ return 2;\r
}\r
\r
\r
if (i != 100000)\r
- return -3;\r
+ return 3;\r
\r
exception = false;\r
\r
\r
\r
if (!exception)\r
- return -4;\r
+ return 4;\r
\r
a = 1e5f;\r
try {\r
}\r
} \r
catch (Exception) {\r
- return -5;\r
+ return 5;\r
}\r
\r
if (ui != 100000)\r
- return -6;\r
- \r
- \r
+ return 6;\r
+\r
+ // Check mul.ovf\r
+ checked {\r
+ int l;\r
+ int m;\r
+\r
+ int[][] cases = new int [][] { \r
+ new int [] {0, 0, 0},\r
+ new int [] {-5, 0, 0},\r
+ new int [] {3, -5, -15},\r
+ new int [] {3, 5, 15},\r
+ new int [] {-3, -5, 15},\r
+ new int [] {-3, 5, -15},\r
+ new int [] {-1, 32767, -32767},\r
+ new int [] {32767, -1, -32767}};\r
+\r
+\r
+ for (int j = 0; j < cases.Length; ++j)\r
+ if (cases [j][0] * cases [j][1] != cases [j][2])\r
+ return 7 + j;\r
+ }\r
+\r
+ checked {\r
+ int j;\r
+ int k;\r
+\r
+ j = k = 0;\r
+ if (j * k != 0)\r
+ return 20;\r
+\r
+ j = -5;\r
+ k = 0;\r
+ if (j * k != 0)\r
+ return 21;\r
+\r
+ j = 0;\r
+ k = -5;\r
+ if (j * k != 0)\r
+ return 22;\r
+\r
+ j = 3;\r
+ k = -5;\r
+ if (j * k != -15)\r
+ return 23;\r
+\r
+ j = 3;\r
+ k = 5;\r
+ if (j * k != 15)\r
+ return 24;\r
+\r
+ j = -3;\r
+ k = -5;\r
+ if (j * k != 15)\r
+ return 25;\r
+\r
+ j = -3;\r
+ k = 5;\r
+ if (j * k != -15)\r
+ return 26;\r
+\r
+ j = -1;\r
+ k = 32767;\r
+ if (j * k != -32767)\r
+ return 27;\r
+ \r
+ j = 32767;\r
+ k = -1;\r
+ if (j * k != -32767)\r
+ return 28;\r
+ }\r
+\r
+ checked {\r
+ long l;\r
+ long m;\r
+\r
+ long[][] cases = new long [][] { \r
+ new long [] {0, 0, 0},\r
+ new long [] {-5, 0, 0},\r
+ new long [] {3, -5, -15},\r
+ new long [] {3, 5, 15},\r
+ new long [] {-3, -5, 15},\r
+ new long [] {-3, 5, -15},\r
+ new long [] {-1, 2147483647, -2147483647},\r
+ new long [] {2147483647, -1, -2147483647}};\r
+\r
+ for (int j = 0; j < cases.Length; ++j)\r
+ if (cases [j][0] * cases [j][1] != cases [j][2])\r
+ return 29 + j;\r
+ }\r
+ \r
Console.WriteLine("test-ok");\r
\r
return 0;\r