Submission #65722
Source Code Expand
#include <cstdlib>
#include <cstring>
#include <memory>
#include <cstdio>
#include <fstream>
#include <iostream>
#include <cmath>
#include <string>
#include <sstream>
#include <stack>
#include <queue>
#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <cassert>
using namespace std;
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/time.h>
#define DEBUG
#ifdef DEBUG
#define DBG(...) cerr << #__VA_ARGS__ << ": " << __VA_ARGS__ << endl
#define DV(...) cerr << __VA_ARGS__ << endl
#define _D(fmt, ...) printf("%10s %3d : " fmt,__FUNCTION__,__LINE__,__VA_ARGS__)
#define _DE(fmt, ...) fprintf(stderr, "%10s %3d : " fmt,__FUNCTION__,__LINE__,__VA_ARGS__)
#else
#define DBG(...)
#define DV(...)
#define _D(fmt, ...)
#define _DE(fmt, ...)
#endif
typedef signed long long ll;
typedef unsigned long long ull;
#define _PE(...) { printf(__VA_ARGS__); fprintf(stderr, __VA_ARGS__); }
#define _E(...) fprintf(stderr, __VA_ARGS__)
#undef _P
#define _P(...) printf(__VA_ARGS__)
#define FOR(x,to) for(x=0;x<to;x++)
#define FOR2(x,from,to) for(x=from;x<to;x++)
#define ZERO(a) memset(a,0,sizeof(a))
void _fill_int(int* p,int val,int rep) {int i; FOR(i,rep) p[i]=val;}
#define FILL_INT(a,val) _fill_int((int*)a,val,sizeof(a)/4)
#define ZERO2(a,b) memset(a,0,b)
#define MINUS(a) _fill_int((int*)a,-1,sizeof(a)/4)
#define GETs(x) scanf("%s",x);
ll GETi() { ll i;scanf("%lld",&i); return i;}
#define GET1(x) scanf("%d",x);
#define GET2(x,y) scanf("%d%d",x,y);
#define GET3(x,y,z) scanf("%d%d%d",x,y,z);
#define EPS (1e-11)
template <class T> T sqr(T val){ return val*val;}
//-------------------------------------------------------
int N;
ll types[5][2002][2002];
void solve() {
int t,x,y,z,i,j,r,k,TM;
int tx,ty,dy;
ll res,p,tp;
N=GETi();
ZERO(types);
FOR(i,N) {
t=GETi();
x=GETi()+1000;
y=GETi()+1000;
r=GETi();
if(t==1) {
types[0][x-r+1][y]++; types[0][x-r+2][y]--;
types[0][x+r][y]++; types[0][x+r+1][y]--;
types[0][x+1][y+r]++; types[0][x+1][y+r-1]--;
types[0][x-r+2][y+r-1]++; types[0][x-r+1][y+r]--;
types[0][x+r+1][y-r]++; types[0][x+r][y-r+1]--;
types[0][x+1][y-r+1]++; types[0][x+1][y-r]--;
}
else if(t==2) {
types[0][x-r+1][y]++; types[0][x+r+1][y]--;
types[0][x+1][y+r]++; types[0][x+1][y-r]--;
types[0][x+r+1][y-r]++; types[0][x-r+1][y+r]--;
}
else if(t==3) {
for(j=1;r>0;r--,j+=2) {
types[0][x-r+1][y]+=j; types[0][x-r+2][y]-=j;
types[0][x+r][y]+=j; types[0][x+r+1][y]-=j;
types[0][x+1][y+r]+=j; types[0][x+1][y+r-1]-=j;
types[0][x-r+2][y+r-1]+=j; types[0][x-r+1][y+r]-=j;
types[0][x+r+1][y-r]+=j; types[0][x+r][y-r+1]-=j;
types[0][x+1][y-r+1]+=j; types[0][x+1][y-r]-=j;
}
//右
types[2][x-r+1][y]++;
types[2][x-r+2][y]++;
types[2][x+1][y]-=2;
types[2][x+2][y]-=2;
types[2][x+r+1][y]++;
types[2][x+r+2][y]++;
//右上
types[3][x+1][y-r]--;
types[3][x+1][y-r+1]--;
types[3][x+1][y]+=2;
types[3][x+1][y+1]+=2;
types[3][x+1][y+r]--;
types[3][x+1][y+r-1]--;
//右下
types[4][x+1-r][y+r]--;
types[4][x+2-r][y+r-1]--;
types[4][x+1][y]+=2;
types[4][x+2][y-1]+=2;
types[4][x+r+1][y-r]--;
types[4][x+r+2][y-r-1]--;
}
}
// 右上に累積
/*
FOR(x,2001) {
p=0;
FOR(y,2001) types[0][x][y]+=(p+=types[3][x][y]);
}
//右下に累積
FOR(r,4001) {
p=0;
if(r<=2000) for(x=0,y=r;y>=0;y--,x++) types[0][x][y]+=(p+=types[4][x][y]);
else for(x=r-2000,y=2000;x<=2000;y--,x++) types[0][x][y]+=(p+=types[4][x][y]);
}
//右に累積
FOR(y,2001) {
p=0;
FOR(x,2001) types[0][x][y]+=(p+=types[2][x][y]);
}
*/
// 右上に累積
FOR(x,2001) {
p=0;
FOR(y,2001) types[1][x][y]=(p+=types[0][x][y]);
}
// 右下に累積
FOR(r,4001) {
p=0;
if(r<=2000) for(x=0,y=r;y>=0;y--,x++) types[0][x][y]=(p+=types[1][x][y]);
else for(x=r-2000,y=2000;x<=2000;y--,x++) types[0][x][y]=(p+=types[1][x][y]);
}
//右に累積
res=0;
FOR(y,2001) {
p=0;
FOR(x,2001) res=max(res,types[1][x][y]=(p+=types[0][x][y]));
}
_P("%lld\n",res);
return;
}
int main(int argc,char** argv){
long long span;
struct timeval start,end,ts;
if(argc>1) {
freopen(argv[1], "r", stdin);
}
gettimeofday(&start,NULL);
solve();
gettimeofday(&end,NULL);
span = (end.tv_sec - start.tv_sec)*1000000LL + (end.tv_usec - start.tv_usec);
//_E("**Total time: %lld ms\n",span/1000);
return 0;
}
Submission Info
Submission Time
2012-12-29 11:50:31+0900
Task
I - その味は甘くて
User
kmjp
Language
C++ (G++ 4.6.4)
Score
150
Code Size
4601 Byte
Status
AC
Exec Time
689 ms
Memory
157412 KB
Compile Error
./Main.cpp: In function ‘int main(int, char**)’:
./Main.cpp:172:31: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp: In function ‘ll GETi()’:
./Main.cpp:53:34: 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
525 ms
157372 KB
large1/case_001.txt
AC
562 ms
157380 KB
large1/case_002.txt
AC
553 ms
157384 KB
large1/case_003.txt
AC
566 ms
157284 KB
large1/case_004.txt
AC
509 ms
157296 KB
large1/case_005.txt
AC
562 ms
157384 KB
large1/case_006.txt
AC
541 ms
157380 KB
large1/case_007.txt
AC
563 ms
157380 KB
large1/case_008.txt
AC
552 ms
157396 KB
large1/case_009.txt
AC
514 ms
157380 KB
large1/case_010.txt
AC
540 ms
157376 KB
large1/case_011.txt
AC
566 ms
157364 KB
large1/case_012.txt
AC
562 ms
157400 KB
large1/case_013.txt
AC
558 ms
157384 KB
large1/case_014.txt
AC
510 ms
157392 KB
large1/case_015.txt
AC
554 ms
157376 KB
large1/case_024.txt
AC
561 ms
157388 KB
large1/case_025.txt
AC
551 ms
157388 KB
large1/case_026.txt
AC
552 ms
157384 KB
large1/case_027.txt
AC
532 ms
157332 KB
large1/large1_case_000.txt
AC
541 ms
157372 KB
large1/large1_case_001.txt
AC
523 ms
157380 KB
large1/large1_case_002.txt
AC
574 ms
157380 KB
large1/large1_case_003.txt
AC
543 ms
157376 KB
large1/large1_case_004.txt
AC
570 ms
157384 KB
large1/large1_case_005.txt
AC
535 ms
157384 KB
large1/large1_case_006.txt
AC
527 ms
157376 KB
large1/large1_case_007.txt
AC
526 ms
157376 KB
large1/large1_case_008.txt
AC
540 ms
157328 KB
large1/large1_case_009.txt
AC
569 ms
157380 KB
large1/large1_case_010.txt
AC
546 ms
157396 KB
large1/large1_case_011.txt
AC
553 ms
157384 KB
large1/large1_case_012.txt
AC
545 ms
157376 KB
large1/large1_case_013.txt
AC
537 ms
157372 KB
large1/large1_case_014.txt
AC
573 ms
157372 KB
large1/large1_case_020.txt
AC
543 ms
157408 KB
large1/large1_case_021.txt
AC
528 ms
157384 KB
large1/large1_case_022.txt
AC
529 ms
157380 KB
large1/large1_case_023.txt
AC
540 ms
157396 KB
large3/case_000.txt
AC
561 ms
157380 KB
large3/case_001.txt
AC
549 ms
157392 KB
large3/case_002.txt
AC
532 ms
157404 KB
large3/case_003.txt
AC
560 ms
157396 KB
large3/case_004.txt
AC
534 ms
157400 KB
large3/case_005.txt
AC
565 ms
157380 KB
large3/case_006.txt
AC
565 ms
157312 KB
large3/case_007.txt
AC
517 ms
157396 KB
large3/case_008.txt
AC
513 ms
157312 KB
large3/case_009.txt
AC
564 ms
157384 KB
large3/case_010.txt
AC
542 ms
157380 KB
large3/case_011.txt
AC
532 ms
157396 KB
large3/case_012.txt
AC
551 ms
157364 KB
large3/case_013.txt
AC
536 ms
157412 KB
large3/case_014.txt
AC
562 ms
157372 KB
large3/case_015.txt
AC
551 ms
157384 KB
large3/case_024.txt
AC
559 ms
157376 KB
large3/case_025.txt
AC
560 ms
157388 KB
large3/case_026.txt
AC
556 ms
157384 KB
large3/case_027.txt
AC
550 ms
157392 KB
large3/large1_case_000.txt
AC
530 ms
157384 KB
large3/large1_case_001.txt
AC
574 ms
157400 KB
large3/large1_case_002.txt
AC
530 ms
157372 KB
large3/large1_case_003.txt
AC
576 ms
157384 KB
large3/large1_case_004.txt
AC
522 ms
157396 KB
large3/large1_case_005.txt
AC
572 ms
157388 KB
large3/large1_case_006.txt
AC
561 ms
157388 KB
large3/large1_case_007.txt
AC
524 ms
157380 KB
large3/large1_case_008.txt
AC
532 ms
157388 KB
large3/large1_case_009.txt
AC
541 ms
157392 KB
large3/large1_case_010.txt
AC
560 ms
157384 KB
large3/large1_case_011.txt
AC
542 ms
157384 KB
large3/large1_case_012.txt
AC
522 ms
157384 KB
large3/large1_case_013.txt
AC
552 ms
157380 KB
large3/large1_case_014.txt
AC
537 ms
157380 KB
large3/large1_case_020.txt
AC
571 ms
157376 KB
large3/large1_case_021.txt
AC
544 ms
157380 KB
large3/large1_case_022.txt
AC
539 ms
157376 KB
large3/large1_case_023.txt
AC
529 ms
157380 KB
large3/large3_case_000.txt
AC
635 ms
157380 KB
large3/large3_case_001.txt
AC
609 ms
157380 KB
large3/large3_case_002.txt
AC
681 ms
157384 KB
large3/large3_case_003.txt
AC
686 ms
157396 KB
large3/large3_case_004.txt
AC
686 ms
157332 KB
large3/large3_case_005.txt
AC
630 ms
157368 KB
large3/large3_case_006.txt
AC
689 ms
157368 KB
large3/large3_case_007.txt
AC
612 ms
157384 KB
large3/large3_case_008.txt
AC
619 ms
157396 KB
large3/large3_case_009.txt
AC
614 ms
157384 KB
large3/large3_case_010.txt
AC
612 ms
157376 KB
large3/large3_case_011.txt
AC
648 ms
157388 KB
large3/large3_case_012.txt
AC
651 ms
157380 KB
large3/large3_case_013.txt
AC
678 ms
157380 KB
large3/large3_case_014.txt
AC
681 ms
157380 KB
large3/large3_case_015.txt
AC
616 ms
157388 KB
large3/large3_case_016.txt
AC
650 ms
157376 KB
large3/large3_case_017.txt
AC
669 ms
157384 KB
large3/large3_case_018.txt
AC
618 ms
157400 KB
large3/large3_case_019.txt
AC
634 ms
157380 KB
large3/large3_case_020.txt
AC
670 ms
157384 KB
large3/large3_case_021.txt
AC
622 ms
157384 KB
large3/large3_case_022.txt
AC
672 ms
157376 KB
large3/large3_case_023.txt
AC
667 ms
157380 KB
small/case_000.txt
AC
563 ms
157384 KB
small/case_001.txt
AC
530 ms
157404 KB
small/case_002.txt
AC
511 ms
157380 KB
small/case_003.txt
AC
563 ms
157384 KB
small/case_004.txt
AC
544 ms
157384 KB
small/case_005.txt
AC
545 ms
157380 KB
small/case_006.txt
AC
532 ms
157408 KB
small/case_007.txt
AC
571 ms
157312 KB
small/case_008.txt
AC
559 ms
157388 KB
small/case_009.txt
AC
550 ms
157376 KB
small/case_010.txt
AC
514 ms
157388 KB
small/case_011.txt
AC
510 ms
157380 KB
small/case_012.txt
AC
540 ms
157408 KB
small/case_013.txt
AC
529 ms
157332 KB
small/case_014.txt
AC
547 ms
157404 KB
small/case_015.txt
AC
564 ms
157380 KB
small/case_024.txt
AC
521 ms
157380 KB
small/case_025.txt
AC
508 ms
157380 KB
small/case_026.txt
AC
534 ms
157392 KB
small/case_027.txt
AC
561 ms
157380 KB