Submission #167300
Source Code Expand
#define _CRT_SECURE_NO_WARNINGS
#include <string>
#include <vector>
#include <algorithm>
#include <numeric>
#include <set>
#include <map>
#include <queue>
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cmath>
#include <ctime>
#include <cstring>
#include <cctype>
#include <cassert>
#define rep(i,n) for(int (i)=0;(i)<(int)(n);++(i))
#define rer(i,l,u) for(int (i)=(int)(l);(i)<=(int)(u);++(i))
#define reu(i,l,u) for(int (i)=(int)(l);(i)<(int)(u);++(i))
#if defined(_MSC_VER) || __cplusplus > 199711L
#define aut(r,v) auto r = (v)
#else
#define aut(r,v) typeof(v) r = (v)
#endif
#define each(it,o) for(aut(it, (o).begin()); it != (o).end(); ++ it)
#define all(o) (o).begin(), (o).end()
#define pb(x) push_back(x)
#define mp(x,y) make_pair((x),(y))
#define mset(m,v) memset(m,v,sizeof(m))
#define INF 0x3f3f3f3f
#define INFL 0x3f3f3f3f3f3f3f3fLL
using namespace std;
typedef vector<int> vi; typedef pair<int,int> pii; typedef vector<pair<int,int> > vpii;
typedef long long ll; typedef vector<long long> vl; typedef pair<long long,long long> pll; typedef vector<pair<long long,long long> > vpll;
typedef vector<string> vs; typedef long double ld;
template<typename T, typename U> inline void amin(T &x, U y) { if(y < x) x = y; }
template<typename T, typename U> inline void amax(T &x, U y) { if(x < y) x = y; }
const int H = 2020, W = 2020, OY = H / 2, OX = W / 2;
long long X[H][W], Y[H][W];
void cumsum(long long A[H][W], int dy, int dx) {
for(int i = dy; i < H; i ++)
for(int j = dx; j < W; j ++)
A[i][j] += A[i-dy][j-dx];
}
inline void addX(int y, int x, int t) { X[y][x] += t; }
inline void addY(int y, int x, int t) { Y[y][x] += t; }
int main() {
mset(X, 0); mset(Y, 0);
int N;
scanf("%d", &N);
rep(i, N) {
int t, x0, y0, d;
scanf("%d%d%d%d", &t, &x0, &y0, &d);
-- d;
x0 += OY, y0 += OX;
if(t == 1) {
addX(y0 - d, x0, 1);
addX(y0 - d, x0 + d + 1, -1);
addX(y0 - d + 1, x0, -1);
addX(y0 - d + 1, x0 + d, 1);
addX(y0 + 1, x0 - d - 1, -1);
addX(y0 + 1, x0 - d, 1);
addX(y0 + 1, x0 + d, -1);
addX(y0 + 1, x0 + d + 1, 1);
addX(y0 + d + 1, x0 - d, -1);
addX(y0 + d + 1, x0, 1);
addX(y0 + d + 2, x0 - d - 1, 1);
addX(y0 + d + 2, x0, -1);
}else if(t == 2) {
addX(y0 - d, x0, 1);
addX(y0 - d, x0 + d + 1, -1);
addX(y0 + 1, x0 - d - 1, -1);
addX(y0 + 1, x0 + d + 1, 1);
addX(y0 + d + 2, x0 - d - 1, 1);
addX(y0 + d + 2, x0, -1);
}else if(t == 3) {
addY(y0 - d, x0, 1);
addY(y0 - d, x0 + 1, -1);
addY(y0 - d, x0 + d + 1, -1);
addY(y0 - d, x0 + d + 2, 1);
addY(y0 - d + 1, x0 - 1, -1);
addY(y0 - d + 1, x0, 2);
addY(y0 - d + 1, x0 + 1, -1);
addY(y0 - d + 1, x0 + d, -1);
addY(y0 - d + 1, x0 + d + 1, 2);
addY(y0 - d + 1, x0 + d + 2, -1);
addY(y0 - d + 2, x0 - 1, -1);
addY(y0 - d + 2, x0, 1);
addY(y0 - d + 2, x0 + d, 1);
addY(y0 - d + 2, x0 + d + 1, -1);
addY(y0 + 1, x0 - d - 1, -1);
addY(y0 + 1, x0 - d, -1);
addY(y0 + 1, x0, 2);
addY(y0 + 1, x0 + 1, 2);
addY(y0 + 1, x0 + d + 1, -1);
addY(y0 + 1, x0 + d + 2, -1);
addY(y0 + 2, x0 - d - 2, 1);
addY(y0 + 2, x0 - d - 1, 2);
addY(y0 + 2, x0 - d, 1);
addY(y0 + 2, x0 - 1, 2);
addY(y0 + 2, x0, -12);
addY(y0 + 2, x0 + 1, 2);
addY(y0 + 2, x0 + d, 1);
addY(y0 + 2, x0 + d + 1, 2);
addY(y0 + 2, x0 + d + 2, 1);
addY(y0 + 3, x0 - d - 2, -1);
addY(y0 + 3, x0 - d - 1, -1);
addY(y0 + 3, x0 - 1, 2);
addY(y0 + 3, x0, 2);
addY(y0 + 3, x0 + d, -1);
addY(y0 + 3, x0 + d + 1, -1);
addY(y0 + d + 2, x0 - d - 1, -1);
addY(y0 + d + 2, x0 - d, 1);
addY(y0 + d + 2, x0, 1);
addY(y0 + d + 2, x0 + 1, -1);
addY(y0 + d + 3, x0 - d - 2, -1);
addY(y0 + d + 3, x0 - d - 1, 2);
addY(y0 + d + 3, x0 - d, -1);
addY(y0 + d + 3, x0 - 1, -1);
addY(y0 + d + 3, x0, 2);
addY(y0 + d + 3, x0 + 1, -1);
addY(y0 + d + 4, x0 - d - 2, 1);
addY(y0 + d + 4, x0 - d - 1, -1);
addY(y0 + d + 4, x0 - 1, -1);
addY(y0 + d + 4, x0, 1);
}
}
cumsum(Y, 1, 0);
cumsum(Y, 0, 1);
cumsum(Y, 1, -1);
rep(y, H) rep(x, W)
X[y][x] += Y[y][x];
cumsum(X, 1, 0);
cumsum(X, 0, 1);
cumsum(X, 1, -1);
long long ans = 0;
rep(y, H) rep(x, W)
amax(ans, X[y][x]);
printf("%lld\n", ans);
return 0;
}
Submission Info
Submission Time
2014-05-04 17:52:38+0900
Task
I - その味は甘くて
User
anta
Language
C++ (G++ 4.6.4)
Score
150
Code Size
4393 Byte
Status
AC
Exec Time
303 ms
Memory
64660 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:54:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:57:38: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
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
257 ms
64544 KB
large1/case_001.txt
AC
279 ms
64556 KB
large1/case_002.txt
AC
277 ms
64548 KB
large1/case_003.txt
AC
264 ms
64552 KB
large1/case_004.txt
AC
271 ms
64548 KB
large1/case_005.txt
AC
273 ms
64548 KB
large1/case_006.txt
AC
252 ms
64560 KB
large1/case_007.txt
AC
272 ms
64552 KB
large1/case_008.txt
AC
300 ms
64544 KB
large1/case_009.txt
AC
258 ms
64556 KB
large1/case_010.txt
AC
253 ms
64552 KB
large1/case_011.txt
AC
237 ms
64556 KB
large1/case_012.txt
AC
242 ms
64552 KB
large1/case_013.txt
AC
239 ms
64552 KB
large1/case_014.txt
AC
234 ms
64544 KB
large1/case_015.txt
AC
270 ms
64552 KB
large1/case_024.txt
AC
250 ms
64548 KB
large1/case_025.txt
AC
250 ms
64552 KB
large1/case_026.txt
AC
256 ms
64556 KB
large1/case_027.txt
AC
238 ms
64544 KB
large1/large1_case_000.txt
AC
270 ms
64552 KB
large1/large1_case_001.txt
AC
295 ms
64660 KB
large1/large1_case_002.txt
AC
259 ms
64544 KB
large1/large1_case_003.txt
AC
252 ms
64556 KB
large1/large1_case_004.txt
AC
270 ms
64556 KB
large1/large1_case_005.txt
AC
257 ms
64552 KB
large1/large1_case_006.txt
AC
267 ms
64552 KB
large1/large1_case_007.txt
AC
273 ms
64540 KB
large1/large1_case_008.txt
AC
263 ms
64544 KB
large1/large1_case_009.txt
AC
250 ms
64548 KB
large1/large1_case_010.txt
AC
250 ms
64540 KB
large1/large1_case_011.txt
AC
267 ms
64548 KB
large1/large1_case_012.txt
AC
254 ms
64544 KB
large1/large1_case_013.txt
AC
275 ms
64544 KB
large1/large1_case_014.txt
AC
248 ms
64552 KB
large1/large1_case_020.txt
AC
279 ms
64552 KB
large1/large1_case_021.txt
AC
243 ms
64548 KB
large1/large1_case_022.txt
AC
243 ms
64552 KB
large1/large1_case_023.txt
AC
258 ms
64552 KB
large3/case_000.txt
AC
253 ms
64548 KB
large3/case_001.txt
AC
237 ms
64556 KB
large3/case_002.txt
AC
263 ms
64548 KB
large3/case_003.txt
AC
238 ms
64560 KB
large3/case_004.txt
AC
268 ms
64548 KB
large3/case_005.txt
AC
244 ms
64552 KB
large3/case_006.txt
AC
258 ms
64552 KB
large3/case_007.txt
AC
237 ms
64552 KB
large3/case_008.txt
AC
247 ms
64556 KB
large3/case_009.txt
AC
238 ms
64548 KB
large3/case_010.txt
AC
240 ms
64540 KB
large3/case_011.txt
AC
253 ms
64616 KB
large3/case_012.txt
AC
303 ms
64548 KB
large3/case_013.txt
AC
266 ms
64428 KB
large3/case_014.txt
AC
250 ms
64544 KB
large3/case_015.txt
AC
255 ms
64556 KB
large3/case_024.txt
AC
267 ms
64536 KB
large3/case_025.txt
AC
238 ms
64556 KB
large3/case_026.txt
AC
243 ms
64556 KB
large3/case_027.txt
AC
250 ms
64540 KB
large3/large1_case_000.txt
AC
255 ms
64548 KB
large3/large1_case_001.txt
AC
249 ms
64552 KB
large3/large1_case_002.txt
AC
257 ms
64636 KB
large3/large1_case_003.txt
AC
282 ms
64548 KB
large3/large1_case_004.txt
AC
261 ms
64544 KB
large3/large1_case_005.txt
AC
253 ms
64556 KB
large3/large1_case_006.txt
AC
253 ms
64556 KB
large3/large1_case_007.txt
AC
245 ms
64552 KB
large3/large1_case_008.txt
AC
241 ms
64544 KB
large3/large1_case_009.txt
AC
256 ms
64544 KB
large3/large1_case_010.txt
AC
272 ms
64552 KB
large3/large1_case_011.txt
AC
252 ms
64552 KB
large3/large1_case_012.txt
AC
250 ms
64556 KB
large3/large1_case_013.txt
AC
255 ms
64552 KB
large3/large1_case_014.txt
AC
262 ms
64556 KB
large3/large1_case_020.txt
AC
249 ms
64552 KB
large3/large1_case_021.txt
AC
255 ms
64548 KB
large3/large1_case_022.txt
AC
244 ms
64552 KB
large3/large1_case_023.txt
AC
254 ms
64548 KB
large3/large3_case_000.txt
AC
260 ms
64548 KB
large3/large3_case_001.txt
AC
251 ms
64556 KB
large3/large3_case_002.txt
AC
255 ms
64560 KB
large3/large3_case_003.txt
AC
254 ms
64656 KB
large3/large3_case_004.txt
AC
252 ms
64552 KB
large3/large3_case_005.txt
AC
250 ms
64548 KB
large3/large3_case_006.txt
AC
262 ms
64552 KB
large3/large3_case_007.txt
AC
270 ms
64544 KB
large3/large3_case_008.txt
AC
248 ms
64552 KB
large3/large3_case_009.txt
AC
270 ms
64540 KB
large3/large3_case_010.txt
AC
264 ms
64544 KB
large3/large3_case_011.txt
AC
266 ms
64548 KB
large3/large3_case_012.txt
AC
248 ms
64544 KB
large3/large3_case_013.txt
AC
269 ms
64552 KB
large3/large3_case_014.txt
AC
250 ms
64548 KB
large3/large3_case_015.txt
AC
255 ms
64548 KB
large3/large3_case_016.txt
AC
266 ms
64548 KB
large3/large3_case_017.txt
AC
252 ms
64544 KB
large3/large3_case_018.txt
AC
245 ms
64644 KB
large3/large3_case_019.txt
AC
274 ms
64548 KB
large3/large3_case_020.txt
AC
248 ms
64552 KB
large3/large3_case_021.txt
AC
286 ms
64552 KB
large3/large3_case_022.txt
AC
266 ms
64544 KB
large3/large3_case_023.txt
AC
258 ms
64548 KB
small/case_000.txt
AC
240 ms
64544 KB
small/case_001.txt
AC
249 ms
64556 KB
small/case_002.txt
AC
259 ms
64556 KB
small/case_003.txt
AC
256 ms
64556 KB
small/case_004.txt
AC
239 ms
64556 KB
small/case_005.txt
AC
246 ms
64548 KB
small/case_006.txt
AC
251 ms
64548 KB
small/case_007.txt
AC
258 ms
64548 KB
small/case_008.txt
AC
245 ms
64556 KB
small/case_009.txt
AC
241 ms
64552 KB
small/case_010.txt
AC
235 ms
64548 KB
small/case_011.txt
AC
247 ms
64552 KB
small/case_012.txt
AC
241 ms
64552 KB
small/case_013.txt
AC
235 ms
64584 KB
small/case_014.txt
AC
261 ms
64552 KB
small/case_015.txt
AC
242 ms
64556 KB
small/case_024.txt
AC
240 ms
64544 KB
small/case_025.txt
AC
258 ms
64556 KB
small/case_026.txt
AC
247 ms
64556 KB
small/case_027.txt
AC
242 ms
64552 KB