Submission #811619
Source Code Expand
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);
int R = stdIn.nextInt();
int C = stdIn.nextInt();
int X = stdIn.nextInt();
int Y = stdIn.nextInt();
int D = stdIn.nextInt();
int L = stdIn.nextInt();
int numMod = 1000000007;
int num1 = ((R - X + 1)*(C - Y + 1));
int[] decrX = {0, 1, 0, 2, 1, 0, 2, 1, 2};
int[] decrY = {0, 0, 1, 0, 1, 2, 1, 2, 2};
int[][] array = new int[9][3];
for(int i = 0; i <= 8; i++){
array[i][0] = D;
array[i][1] = L;
array[i][2] = (X - decrX[i])*(Y - decrY[i]) - D - L;
}
int[] multiple = {1, -2, -2, 1, 4, 1, -2, -2, 1};
long sum1 = 0;
if(X > 0 && Y > 0 && X*Y >= D + L){
int n = array[0].length;
int prodN = 1;
for(int i = 0; i <= n - 1; i++){
if(array[0][i] < 0){
prodN = 0;
}
prodN *= (array[0][i] + 1);
}
if(prodN > 0){
int position[] = new int[prodN];
position[0] = 1;
for(int i = 0; i <= prodN - 1; i++){
int delta = 1;
int temp = i;
for(int j = 0; j <= n - 1; j++){
if((temp % (array[0][j] + 1)) <= array[0][j] - 1){
position[i + delta] = (int)(((long)position[i + delta] + (long)position[i]) % numMod);
}
delta *= (array[0][j] + 1);
temp /= (array[0][j] + 1);
}
}
sum1 = sum1 + (long)(position[prodN - 1])*(long)multiple[0];
for(int i = 1; i <= 8; i++){
if((X - decrX[i]) > 0 && (Y - decrY[i]) > 0 && (X - decrX[i])*(Y - decrY[i]) >= D + L){
n = array[i].length;
int temp = 1;
int posIdx = 0;
for(int j = 0; j <= n - 1; j++){
if(array[i][j] < 0){
posIdx = 0; break;
}
posIdx += (temp*array[i][j]);
temp *= (array[0][j] + 1);
}
if(posIdx > 0){
sum1 = sum1 + (long)(position[posIdx])*(long)multiple[i];
}
}
}
}
}
int num2 = (int)((sum1 >= 0 ? (sum1 % numMod) : numMod - ((-sum1) % numMod)));
int ans = ((int)(((long)num1 * (long)num2) % numMod));
System.out.println(ans);
}
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - AtCoder社の冬 |
| User | ste234689ado |
| Language | Java (OpenJDK 1.7.0) |
| Score | 101 |
| Code Size | 2166 Byte |
| Status | AC |
| Exec Time | 885 ms |
| Memory | 40092 KiB |
Judge Result
| Set Name | sub | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 100 / 100 | 1 / 1 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| sub | 00_sample_01E.txt, 00_sample_02E.txt, 00_sample_03E.txt, test_03E.txt, test_04E.txt, test_07E.txt, test_08E.txt, test_11E.txt, test_12E.txt, test_15E.txt, test_16E.txt, test_19E.txt, test_20E.txt, test_23E.txt, test_24E.txt, test_27E.txt, test_28E.txt, test_31E.txt, test_32E.txt, test_36E.txt, test_37E.txt, test_38E.txt, test_39E.txt, test_45E.txt, test_47E.txt |
| All | 00_sample_01E.txt, 00_sample_02E.txt, 00_sample_03E.txt, 00_sample_04.txt, test_01.txt, test_02.txt, test_03E.txt, test_04E.txt, test_05.txt, test_06.txt, test_07E.txt, test_08E.txt, test_09.txt, test_10.txt, test_11E.txt, test_12E.txt, test_13.txt, test_14.txt, test_15E.txt, test_16E.txt, test_17.txt, test_18.txt, test_19E.txt, test_20E.txt, test_21.txt, test_22.txt, test_23E.txt, test_24E.txt, test_25.txt, test_26.txt, test_27E.txt, test_28E.txt, test_29.txt, test_30.txt, test_31E.txt, test_32E.txt, test_33.txt, test_34.txt, test_35.txt, test_36E.txt, test_37E.txt, test_38E.txt, test_39E.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45E.txt, test_46.txt, test_47E.txt, test_48.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_01E.txt | AC | 396 ms | 18996 KiB |
| 00_sample_02E.txt | AC | 331 ms | 19060 KiB |
| 00_sample_03E.txt | AC | 351 ms | 19564 KiB |
| 00_sample_04.txt | AC | 885 ms | 40092 KiB |
| test_01.txt | AC | 334 ms | 19028 KiB |
| test_02.txt | AC | 332 ms | 19056 KiB |
| test_03E.txt | AC | 333 ms | 19008 KiB |
| test_04E.txt | AC | 333 ms | 19148 KiB |
| test_05.txt | AC | 323 ms | 19044 KiB |
| test_06.txt | AC | 363 ms | 20452 KiB |
| test_07E.txt | AC | 327 ms | 19036 KiB |
| test_08E.txt | AC | 326 ms | 19052 KiB |
| test_09.txt | AC | 349 ms | 19464 KiB |
| test_10.txt | AC | 379 ms | 20408 KiB |
| test_11E.txt | AC | 352 ms | 19152 KiB |
| test_12E.txt | AC | 345 ms | 19036 KiB |
| test_13.txt | AC | 345 ms | 19092 KiB |
| test_14.txt | AC | 378 ms | 20064 KiB |
| test_15E.txt | AC | 323 ms | 18992 KiB |
| test_16E.txt | AC | 327 ms | 19036 KiB |
| test_17.txt | AC | 322 ms | 19100 KiB |
| test_18.txt | AC | 333 ms | 19016 KiB |
| test_19E.txt | AC | 353 ms | 19140 KiB |
| test_20E.txt | AC | 339 ms | 19076 KiB |
| test_21.txt | AC | 334 ms | 19140 KiB |
| test_22.txt | AC | 375 ms | 20456 KiB |
| test_23E.txt | AC | 340 ms | 19036 KiB |
| test_24E.txt | AC | 338 ms | 19108 KiB |
| test_25.txt | AC | 338 ms | 19020 KiB |
| test_26.txt | AC | 336 ms | 19068 KiB |
| test_27E.txt | AC | 348 ms | 19108 KiB |
| test_28E.txt | AC | 336 ms | 19036 KiB |
| test_29.txt | AC | 371 ms | 20584 KiB |
| test_30.txt | AC | 381 ms | 20840 KiB |
| test_31E.txt | AC | 331 ms | 19048 KiB |
| test_32E.txt | AC | 329 ms | 18988 KiB |
| test_33.txt | AC | 325 ms | 19084 KiB |
| test_34.txt | AC | 327 ms | 19044 KiB |
| test_35.txt | AC | 324 ms | 19036 KiB |
| test_36E.txt | AC | 329 ms | 19016 KiB |
| test_37E.txt | AC | 326 ms | 19076 KiB |
| test_38E.txt | AC | 329 ms | 19024 KiB |
| test_39E.txt | AC | 340 ms | 19168 KiB |
| test_40.txt | AC | 356 ms | 19360 KiB |
| test_41.txt | AC | 339 ms | 18996 KiB |
| test_42.txt | AC | 366 ms | 20048 KiB |
| test_43.txt | AC | 344 ms | 19092 KiB |
| test_44.txt | AC | 372 ms | 20324 KiB |
| test_45E.txt | AC | 333 ms | 19160 KiB |
| test_46.txt | AC | 331 ms | 19052 KiB |
| test_47E.txt | AC | 328 ms | 19076 KiB |
| test_48.txt | AC | 325 ms | 19084 KiB |