Submission #62240
Source Code Expand
#include <iostream>
using namespace std;
const int kMinX = -1000, kMaxX = +1000;
const int kMinY = -1000, kMaxY = +1000;
int main()
{
static int d0[kMaxX-kMinX+1][kMaxY-kMinY+1];
static int d1[kMaxX-kMinX+1][kMaxY-kMinY+1];
static int d2[kMaxX-kMinX+1][kMaxY-kMinY+1];
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int type, x, y, z;
cin >> type >> x >> y >> z;
x -= kMinX, y -= kMinY;
switch (type) {
case 1:
for (int j = 0; j < z; j++) { // upper
int x0 = x - z, x1 = x + (z - j), yj = y + j;
++d0[x0 + 1][yj], --d0[x1][yj];
}
for (int j = 1; j < z; j++) { // lower
int x0 = x - (z - j), x1 = x + z, yj = y - j;
++d0[x0 + 1][yj], --d0[x1][yj];
}
break;
case 2:
for (int j = 0; j < z; j++) { // upper
int x0 = x - z, x1 = x + (z - j), yj = y + j;
int x2 = x0 + (z - j), x3 = x1 - (z - j);
++d1[x0][yj], d0[x0][yj] -= x0, ++d1[x1][yj], d0[x1][yj] -= x1;
--d1[x2][yj], d0[x2][yj] += x2, --d1[x3][yj], d0[x3][yj] += x3;
}
for (int j = 1; j < z; j++) { // lower
int x0 = x - (z - j), x1 = x + z, yj = y - j;
int x2 = x0 + (z - j), x3 = x1 - (z - j);
++d1[x0][yj], d0[x0][yj] -= x0, ++d1[x1][yj], d0[x1][yj] -= x1;
--d1[x2][yj], d0[x2][yj] += x2, --d1[x3][yj], d0[x3][yj] += x3;
}
break;
case 3:
for (int j = 0; j < z; j++) { // upper
int x0 = x - z, x1 = x + (z - j), yj = y + j;
int x2 = x0 + (z - j), x3 = x1 - (z - j);
++d2[x0][yj], d1[x0][yj] -= 2 * x0, d0[x0][yj] += x0 * x0;
--d2[x1][yj], d1[x1][yj] += 2 * x1, d0[x1][yj] -= x1 * x1;
--d2[x2][yj], d1[x2][yj] += 2 * x2, d0[x2][yj] -= x2 * x2;
d1[x2][yj] -= 2 * (z - j), d0[x2][yj] += 2 * (z - j) * x2;
++d2[x3][yj], d1[x3][yj] -= 2 * x3, d0[x3][yj] += x3 * x3;
d1[x3][yj] -= 2 * (z - j), d0[x3][yj] += 2 * (z - j) * x3;
}
for (int j = 1; j < z; j++) { // lower
int x0 = x - (z - j), x1 = x + z, yj = y - j;
int x2 = x0 + (z - j), x3 = x1 - (z - j);
++d2[x0][yj], d1[x0][yj] -= 2 * x0, d0[x0][yj] += x0 * x0;
--d2[x1][yj], d1[x1][yj] += 2 * x1, d0[x1][yj] -= x1 * x1;
--d2[x2][yj], d1[x2][yj] += 2 * x2, d0[x2][yj] -= x2 * x2;
d1[x2][yj] -= 2 * (z - j), d0[x2][yj] += 2 * (z - j) * x2;
++d2[x3][yj], d1[x3][yj] -= 2 * x3, d0[x3][yj] += x3 * x3;
d1[x3][yj] -= 2 * (z - j), d0[x3][yj] += 2 * (z - j) * x3;
}
break;
}
}
int ans = 0;
for (int y = 0; y <= kMaxY - kMinY; y++) {
int now = 0, a0 = 0, a1 = 0, a2 = 0;
for (int x = 0; x <= kMaxX - kMinX; x++) {
a0 += d0[x][y], a1 += d1[x][y], a2 += d2[x][y];
now = a0 + a1 * x + a2 * x * x;
ans = max(ans, now);
}
}
cout << ans << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
I - その味は甘くて |
User |
yuizumi |
Language |
C++ (G++ 4.6.4) |
Score |
150 |
Code Size |
3342 Byte |
Status |
AC |
Exec Time |
863 ms |
Memory |
47468 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 |
201 ms |
860 KB |
large1/case_001.txt |
AC |
200 ms |
1000 KB |
large1/case_002.txt |
AC |
199 ms |
1016 KB |
large1/case_003.txt |
AC |
198 ms |
856 KB |
large1/case_004.txt |
AC |
203 ms |
2708 KB |
large1/case_005.txt |
AC |
201 ms |
2708 KB |
large1/case_006.txt |
AC |
201 ms |
2712 KB |
large1/case_007.txt |
AC |
198 ms |
2708 KB |
large1/case_008.txt |
AC |
199 ms |
2700 KB |
large1/case_009.txt |
AC |
201 ms |
2580 KB |
large1/case_010.txt |
AC |
200 ms |
2536 KB |
large1/case_011.txt |
AC |
203 ms |
2664 KB |
large1/case_012.txt |
AC |
201 ms |
2660 KB |
large1/case_013.txt |
AC |
203 ms |
2784 KB |
large1/case_014.txt |
AC |
202 ms |
2660 KB |
large1/case_015.txt |
AC |
201 ms |
2668 KB |
large1/case_024.txt |
AC |
200 ms |
2536 KB |
large1/case_025.txt |
AC |
199 ms |
2440 KB |
large1/case_026.txt |
AC |
201 ms |
2396 KB |
large1/case_027.txt |
AC |
201 ms |
2584 KB |
large1/large1_case_000.txt |
AC |
342 ms |
16276 KB |
large1/large1_case_001.txt |
AC |
351 ms |
16276 KB |
large1/large1_case_002.txt |
AC |
367 ms |
16220 KB |
large1/large1_case_003.txt |
AC |
345 ms |
16236 KB |
large1/large1_case_004.txt |
AC |
383 ms |
16348 KB |
large1/large1_case_005.txt |
AC |
359 ms |
16360 KB |
large1/large1_case_006.txt |
AC |
367 ms |
16328 KB |
large1/large1_case_007.txt |
AC |
355 ms |
16360 KB |
large1/large1_case_008.txt |
AC |
372 ms |
16360 KB |
large1/large1_case_009.txt |
AC |
365 ms |
16352 KB |
large1/large1_case_010.txt |
AC |
368 ms |
16356 KB |
large1/large1_case_011.txt |
AC |
359 ms |
16284 KB |
large1/large1_case_012.txt |
AC |
368 ms |
16340 KB |
large1/large1_case_013.txt |
AC |
362 ms |
16324 KB |
large1/large1_case_014.txt |
AC |
359 ms |
16156 KB |
large1/large1_case_020.txt |
AC |
291 ms |
15964 KB |
large1/large1_case_021.txt |
AC |
287 ms |
16020 KB |
large1/large1_case_022.txt |
AC |
295 ms |
16096 KB |
large1/large1_case_023.txt |
AC |
297 ms |
16112 KB |
large3/case_000.txt |
AC |
199 ms |
864 KB |
large3/case_001.txt |
AC |
199 ms |
1032 KB |
large3/case_002.txt |
AC |
198 ms |
1040 KB |
large3/case_003.txt |
AC |
198 ms |
864 KB |
large3/case_004.txt |
AC |
201 ms |
2704 KB |
large3/case_005.txt |
AC |
202 ms |
2648 KB |
large3/case_006.txt |
AC |
200 ms |
2660 KB |
large3/case_007.txt |
AC |
201 ms |
2644 KB |
large3/case_008.txt |
AC |
200 ms |
2688 KB |
large3/case_009.txt |
AC |
200 ms |
2580 KB |
large3/case_010.txt |
AC |
199 ms |
2584 KB |
large3/case_011.txt |
AC |
200 ms |
2664 KB |
large3/case_012.txt |
AC |
201 ms |
2716 KB |
large3/case_013.txt |
AC |
202 ms |
2784 KB |
large3/case_014.txt |
AC |
201 ms |
2656 KB |
large3/case_015.txt |
AC |
198 ms |
2704 KB |
large3/case_024.txt |
AC |
202 ms |
2456 KB |
large3/case_025.txt |
AC |
200 ms |
2404 KB |
large3/case_026.txt |
AC |
200 ms |
2408 KB |
large3/case_027.txt |
AC |
200 ms |
2696 KB |
large3/large1_case_000.txt |
AC |
366 ms |
16360 KB |
large3/large1_case_001.txt |
AC |
357 ms |
16376 KB |
large3/large1_case_002.txt |
AC |
372 ms |
16276 KB |
large3/large1_case_003.txt |
AC |
353 ms |
16232 KB |
large3/large1_case_004.txt |
AC |
364 ms |
16420 KB |
large3/large1_case_005.txt |
AC |
358 ms |
16280 KB |
large3/large1_case_006.txt |
AC |
349 ms |
16360 KB |
large3/large1_case_007.txt |
AC |
365 ms |
16264 KB |
large3/large1_case_008.txt |
AC |
377 ms |
16404 KB |
large3/large1_case_009.txt |
AC |
350 ms |
16360 KB |
large3/large1_case_010.txt |
AC |
368 ms |
16356 KB |
large3/large1_case_011.txt |
AC |
369 ms |
16224 KB |
large3/large1_case_012.txt |
AC |
349 ms |
16344 KB |
large3/large1_case_013.txt |
AC |
370 ms |
16232 KB |
large3/large1_case_014.txt |
AC |
367 ms |
16228 KB |
large3/large1_case_020.txt |
AC |
293 ms |
16024 KB |
large3/large1_case_021.txt |
AC |
288 ms |
15972 KB |
large3/large1_case_022.txt |
AC |
297 ms |
16108 KB |
large3/large1_case_023.txt |
AC |
293 ms |
16104 KB |
large3/large3_case_000.txt |
AC |
847 ms |
47072 KB |
large3/large3_case_001.txt |
AC |
863 ms |
47068 KB |
large3/large3_case_002.txt |
AC |
854 ms |
47376 KB |
large3/large3_case_003.txt |
AC |
841 ms |
46816 KB |
large3/large3_case_004.txt |
AC |
844 ms |
47336 KB |
large3/large3_case_005.txt |
AC |
847 ms |
47336 KB |
large3/large3_case_006.txt |
AC |
810 ms |
47084 KB |
large3/large3_case_007.txt |
AC |
831 ms |
46812 KB |
large3/large3_case_008.txt |
AC |
850 ms |
47328 KB |
large3/large3_case_009.txt |
AC |
829 ms |
46812 KB |
large3/large3_case_010.txt |
AC |
824 ms |
47072 KB |
large3/large3_case_011.txt |
AC |
846 ms |
47204 KB |
large3/large3_case_012.txt |
AC |
850 ms |
47416 KB |
large3/large3_case_013.txt |
AC |
830 ms |
47068 KB |
large3/large3_case_014.txt |
AC |
828 ms |
47460 KB |
large3/large3_case_015.txt |
AC |
829 ms |
47468 KB |
large3/large3_case_016.txt |
AC |
827 ms |
47464 KB |
large3/large3_case_017.txt |
AC |
844 ms |
47336 KB |
large3/large3_case_018.txt |
AC |
822 ms |
46992 KB |
large3/large3_case_019.txt |
AC |
827 ms |
47128 KB |
large3/large3_case_020.txt |
AC |
835 ms |
47460 KB |
large3/large3_case_021.txt |
AC |
785 ms |
46868 KB |
large3/large3_case_022.txt |
AC |
818 ms |
46948 KB |
large3/large3_case_023.txt |
AC |
812 ms |
46700 KB |
small/case_000.txt |
AC |
200 ms |
868 KB |
small/case_001.txt |
AC |
201 ms |
920 KB |
small/case_002.txt |
AC |
197 ms |
1032 KB |
small/case_003.txt |
AC |
199 ms |
916 KB |
small/case_004.txt |
AC |
200 ms |
2660 KB |
small/case_005.txt |
AC |
199 ms |
2656 KB |
small/case_006.txt |
AC |
200 ms |
2716 KB |
small/case_007.txt |
AC |
203 ms |
2652 KB |
small/case_008.txt |
AC |
200 ms |
2584 KB |
small/case_009.txt |
AC |
199 ms |
2732 KB |
small/case_010.txt |
AC |
201 ms |
2652 KB |
small/case_011.txt |
AC |
199 ms |
2704 KB |
small/case_012.txt |
AC |
200 ms |
2648 KB |
small/case_013.txt |
AC |
204 ms |
2784 KB |
small/case_014.txt |
AC |
201 ms |
2712 KB |
small/case_015.txt |
AC |
198 ms |
2588 KB |
small/case_024.txt |
AC |
200 ms |
2532 KB |
small/case_025.txt |
AC |
200 ms |
2392 KB |
small/case_026.txt |
AC |
200 ms |
2408 KB |
small/case_027.txt |
AC |
201 ms |
2672 KB |