Submission #65194


Source Code Expand

#include<cstdio>
#include<algorithm>

#define rep(i,n) for(int i=0;i<(n);i++)

using namespace std;

int main(){
	int n; scanf("%d",&n);

	static int buf1[4][2100][2100],*buf2[4][2100];
	rep(i,4) rep(j,2100) {
		buf2[i][j]=buf1[i][j]+1050;
		buf2[i][j]=buf1[i][j]+1050;
		buf2[i][j]=buf1[i][j]+1050;
		buf2[i][j]=buf1[i][j]+1050;
	}
	int **imos12=buf2[0]+1050; // type 1, 2 用
	int **imos3a=buf2[1]+1050; // type 3 用
	int **imos3b=buf2[2]+1050; // type 3 用
	int **imos3c=buf2[3]+1050; // type 3 用

	rep(i,n){
		int type,x,y,r; scanf("%d%d%d%d",&type,&x,&y,&r);

		if(type==1){
			imos12[  y  ][x-r+1]++;
			imos12[y+r-1][x-r+2]++;
			imos12[y-r+1][ x+1 ]++;
			imos12[ y+r ][ x+1 ]++;
			imos12[  y  ][ x+r ]++;
			imos12[ y-r ][x+r+1]++;
			imos12[  y  ][x-r+2]--;
			imos12[ y+r ][x-r+1]--;
			imos12[ y-r ][ x+1 ]--;
			imos12[y+r-1][ x+1 ]--;
			imos12[y-r+1][ x+r ]--;
			imos12[  y  ][x+r+1]--;
		}
		else if(type==2){
			imos12[  y  ][x-r+1]++;
			imos12[ y+r ][ x+1 ]++;
			imos12[ y-r ][x+r+1]++;
			imos12[ y+r ][x-r+1]--;
			imos12[ y-r ][ x+1 ]--;
			imos12[  y  ][x+r+1]--;
		}
		else{ // type==3
			x++;

			imos3a[ y-r ][x]--;
			imos3a[y-r+1][x]--;
			imos3a[  y  ][x]+=2;
			imos3a[ y+1 ][x]+=2;
			imos3a[ y+r ][x]--;
			imos3a[y+r+1][x]--;

			imos3b[y][ x-r ]++;
			imos3b[y][x-r+1]++;
			imos3b[y][  x  ]-=2;
			imos3b[y][ x+1 ]-=2;
			imos3b[y][ x+r ]++;
			imos3b[y][x+r+1]++;

			imos3c[ y+r ][ x-r ]--;
			imos3c[y+r-1][x-r+1]--;
			imos3c[  y  ][  x  ]+=2;
			imos3c[ y-1 ][ x+1 ]+=2;
			imos3c[ y-r ][ x+r ]--;
			imos3c[y-r-1][x+r+1]--;
		}
	}

	for(int y=-1050;y<1049;y++) for(int x=-1050;x<1050;x++) imos3a[y+1][ x ]+=imos3a[y][x];
	for(int y=-1050;y<1050;y++) for(int x=-1050;x<1049;x++) imos3b[ y ][x+1]+=imos3b[y][x];
	for(int y=1049;y>-1050;y--) for(int x=-1050;x<1049;x++) imos3c[y-1][x+1]+=imos3c[y][x];
	for(int y=-1050;y<1050;y++) for(int x=-1050;x<1050;x++) imos12[ y ][ x ]+=imos3a[y][x]+imos3b[y][x]+imos3c[y][x];

	for(int y=-1050;y<1049;y++) for(int x=-1050;x<1050;x++) imos12[y+1][ x ]+=imos12[y][x];
	for(int y=1049;y>-1050;y--) for(int x=-1050;x<1049;x++) imos12[y-1][x+1]+=imos12[y][x];
	for(int y=-1050;y<1050;y++) for(int x=-1050;x<1049;x++) imos12[ y ][x+1]+=imos12[y][x];

	int ans=0;
	for(int y=-1050;y<1050;y++) for(int x=-1050;x<1050;x++) ans=max(ans,imos12[y][x]);
	printf("%d\n",ans);

	return 0;
}

Submission Info

Submission Time
Task I - その味は甘くて
User fura2
Language C++ (G++ 4.6.4)
Score 150
Code Size 2450 Byte
Status AC
Exec Time 232 ms
Memory 69676 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:9:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:24:51: 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
AC × 20
AC × 39
AC × 63
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 203 ms 69528 KB
large1/case_001.txt AC 196 ms 69552 KB
large1/case_002.txt AC 195 ms 69560 KB
large1/case_003.txt AC 199 ms 69556 KB
large1/case_004.txt AC 197 ms 69604 KB
large1/case_005.txt AC 197 ms 69560 KB
large1/case_006.txt AC 206 ms 69548 KB
large1/case_007.txt AC 199 ms 69548 KB
large1/case_008.txt AC 208 ms 69564 KB
large1/case_009.txt AC 206 ms 69556 KB
large1/case_010.txt AC 207 ms 69532 KB
large1/case_011.txt AC 199 ms 69564 KB
large1/case_012.txt AC 208 ms 69560 KB
large1/case_013.txt AC 208 ms 69564 KB
large1/case_014.txt AC 206 ms 69560 KB
large1/case_015.txt AC 208 ms 69560 KB
large1/case_024.txt AC 207 ms 69560 KB
large1/case_025.txt AC 206 ms 69564 KB
large1/case_026.txt AC 208 ms 69560 KB
large1/case_027.txt AC 205 ms 69516 KB
large1/large1_case_000.txt AC 217 ms 69556 KB
large1/large1_case_001.txt AC 205 ms 69548 KB
large1/large1_case_002.txt AC 219 ms 69620 KB
large1/large1_case_003.txt AC 209 ms 69624 KB
large1/large1_case_004.txt AC 218 ms 69564 KB
large1/large1_case_005.txt AC 219 ms 69564 KB
large1/large1_case_006.txt AC 219 ms 69568 KB
large1/large1_case_007.txt AC 214 ms 69564 KB
large1/large1_case_008.txt AC 211 ms 69608 KB
large1/large1_case_009.txt AC 221 ms 69568 KB
large1/large1_case_010.txt AC 218 ms 69564 KB
large1/large1_case_011.txt AC 219 ms 69556 KB
large1/large1_case_012.txt AC 217 ms 69560 KB
large1/large1_case_013.txt AC 216 ms 69556 KB
large1/large1_case_014.txt AC 219 ms 69560 KB
large1/large1_case_020.txt AC 217 ms 69564 KB
large1/large1_case_021.txt AC 216 ms 69572 KB
large1/large1_case_022.txt AC 217 ms 69560 KB
large1/large1_case_023.txt AC 209 ms 69564 KB
large3/case_000.txt AC 195 ms 69556 KB
large3/case_001.txt AC 208 ms 69564 KB
large3/case_002.txt AC 209 ms 69560 KB
large3/case_003.txt AC 209 ms 69556 KB
large3/case_004.txt AC 208 ms 69492 KB
large3/case_005.txt AC 207 ms 69568 KB
large3/case_006.txt AC 206 ms 69540 KB
large3/case_007.txt AC 193 ms 69556 KB
large3/case_008.txt AC 205 ms 69556 KB
large3/case_009.txt AC 202 ms 69560 KB
large3/case_010.txt AC 208 ms 69484 KB
large3/case_011.txt AC 207 ms 69556 KB
large3/case_012.txt AC 208 ms 69556 KB
large3/case_013.txt AC 209 ms 69560 KB
large3/case_014.txt AC 208 ms 69524 KB
large3/case_015.txt AC 206 ms 69556 KB
large3/case_024.txt AC 208 ms 69552 KB
large3/case_025.txt AC 201 ms 69560 KB
large3/case_026.txt AC 207 ms 69528 KB
large3/case_027.txt AC 208 ms 69556 KB
large3/large1_case_000.txt AC 209 ms 69560 KB
large3/large1_case_001.txt AC 220 ms 69560 KB
large3/large1_case_002.txt AC 220 ms 69568 KB
large3/large1_case_003.txt AC 207 ms 69556 KB
large3/large1_case_004.txt AC 205 ms 69556 KB
large3/large1_case_005.txt AC 232 ms 69564 KB
large3/large1_case_006.txt AC 218 ms 69556 KB
large3/large1_case_007.txt AC 218 ms 69564 KB
large3/large1_case_008.txt AC 220 ms 69560 KB
large3/large1_case_009.txt AC 216 ms 69552 KB
large3/large1_case_010.txt AC 220 ms 69548 KB
large3/large1_case_011.txt AC 209 ms 69508 KB
large3/large1_case_012.txt AC 217 ms 69564 KB
large3/large1_case_013.txt AC 207 ms 69560 KB
large3/large1_case_014.txt AC 210 ms 69536 KB
large3/large1_case_020.txt AC 214 ms 69556 KB
large3/large1_case_021.txt AC 213 ms 69560 KB
large3/large1_case_022.txt AC 215 ms 69552 KB
large3/large1_case_023.txt AC 218 ms 69560 KB
large3/large3_case_000.txt AC 220 ms 69556 KB
large3/large3_case_001.txt AC 217 ms 69560 KB
large3/large3_case_002.txt AC 229 ms 69564 KB
large3/large3_case_003.txt AC 212 ms 69556 KB
large3/large3_case_004.txt AC 225 ms 69560 KB
large3/large3_case_005.txt AC 219 ms 69552 KB
large3/large3_case_006.txt AC 213 ms 69564 KB
large3/large3_case_007.txt AC 209 ms 69536 KB
large3/large3_case_008.txt AC 224 ms 69508 KB
large3/large3_case_009.txt AC 212 ms 69556 KB
large3/large3_case_010.txt AC 210 ms 69560 KB
large3/large3_case_011.txt AC 224 ms 69552 KB
large3/large3_case_012.txt AC 229 ms 69560 KB
large3/large3_case_013.txt AC 226 ms 69564 KB
large3/large3_case_014.txt AC 223 ms 69544 KB
large3/large3_case_015.txt AC 230 ms 69556 KB
large3/large3_case_016.txt AC 230 ms 69560 KB
large3/large3_case_017.txt AC 213 ms 69560 KB
large3/large3_case_018.txt AC 211 ms 69544 KB
large3/large3_case_019.txt AC 222 ms 69620 KB
large3/large3_case_020.txt AC 220 ms 69556 KB
large3/large3_case_021.txt AC 204 ms 69548 KB
large3/large3_case_022.txt AC 211 ms 69576 KB
large3/large3_case_023.txt AC 204 ms 69556 KB
small/case_000.txt AC 197 ms 69556 KB
small/case_001.txt AC 206 ms 69676 KB
small/case_002.txt AC 209 ms 69556 KB
small/case_003.txt AC 201 ms 69560 KB
small/case_004.txt AC 197 ms 69616 KB
small/case_005.txt AC 199 ms 69552 KB
small/case_006.txt AC 193 ms 69564 KB
small/case_007.txt AC 197 ms 69560 KB
small/case_008.txt AC 199 ms 69556 KB
small/case_009.txt AC 202 ms 69564 KB
small/case_010.txt AC 210 ms 69504 KB
small/case_011.txt AC 206 ms 69564 KB
small/case_012.txt AC 197 ms 69616 KB
small/case_013.txt AC 200 ms 69500 KB
small/case_014.txt AC 204 ms 69564 KB
small/case_015.txt AC 195 ms 69560 KB
small/case_024.txt AC 207 ms 69560 KB
small/case_025.txt AC 200 ms 69560 KB
small/case_026.txt AC 195 ms 69568 KB
small/case_027.txt AC 206 ms 69556 KB