Submission #208043


Source Code Expand

#include <iostream> 
#include <algorithm> 
#include <cstdio>

using namespace std;
 
int n;
int aa=1020;
int add1[2101][2101];
int add2[3][2101][2101];
int main(void){
	scanf("%d",&n);
	for(int i=0;i<n;i++){
		int t,x,y,r;
		scanf("%d%d%d%d",&t,&x,&y,&r);
		y=-y;
		x+=aa;
		y+=aa;
		if(t==1){
			add1[x-r+1][y]++;
			add1[x+r][y]++;
			add1[x+1][y-r]++;
			add1[x+1][y+r-1]++;
			add1[x+r+1][y+r]++;
			add1[x-r+2][y-r+1]++;
			
			add1[x-r+2][y]--;
			add1[x+r+1][y]--;
			add1[x+1][y+r]--;
			add1[x+r][y+r-1]--;
			add1[x+1][y-r+1]--;
			add1[x-r+1][y-r]--;
		}
		if(t==2){
			add1[x-r+1][y]++;
			add1[x+1][y-r]++;
			add1[x+r+1][y+r]++;
			
			add1[x+r+1][y]--;
			add1[x+1][y+r]--;
			add1[x-r+1][y-r]--;
		}
		if(t==3){
			//横
			add2[0][x-r+2][y]++;
			add2[0][x-r+1][y]++;
			add2[0][x+1][y]-=2;
			add2[0][x+2][y]-=2;
			add2[0][x+r+1][y]++;
			add2[0][x+r+2][y]++;
			
			//右上
			add2[1][x+1][y]+=2;
			add2[1][x+1][y-1]+=2;
			add2[1][x+1][y-r-1]--;
			add2[1][x+1][y-r]--;
			add2[1][x+1][y+r]--;
			add2[1][x+1][y+r-1]--;
			
			//右下
			add2[2][x+1][y]+=2;
			add2[2][x+2][y+1]+=2;
			add2[2][x+r+1][y+r]--;
			add2[2][x+r+2][y+r+1]--;
			add2[2][x-r+1][y-r]--;
			add2[2][x-r+2][y-r+1]--;
		}
	}
	//type3パート1(右上)
	for(int i=0;i<2050;i++){
		for(int j=2050;j>0;j--){
			add2[1][i][j-1]+=add2[1][i][j];
		}
	}
	
	//type3パート2(右下)
	for(int i=0;i<2050;i++){
		for(int j=0;j<2050;j++){
			if(i+j+1<2050)add2[2][j+1][i+j+1]+=add2[2][j][i+j];
			else break;
		}
	}
	for(int i=1;i<2050;i++){
		for(int j=0;j<2050;j++){
			if(i+j+1<2050)add2[2][i+j+1][j+1]+=add2[2][i+j][j];
			else break;
		}
	}
	
	//type3パート3(横)
	for(int i=0;i<2050;i++){
		for(int j=0;j<2050;j++){
			add2[0][j+1][i]+=add2[0][j][i];
		}
	}
	
	//type3をtype1,2に足す
	for(int i=0;i<2050;i++){
		for(int j=0;j<2050;j++){
			add1[j][i]+=add2[0][j][i]+add2[1][j][i]+add2[2][j][i];
		}
	}
	
	//パート1(右上)
	for(int i=0;i<2050;i++){
		for(int j=2050;j>0;j--){
			add1[i][j-1]+=add1[i][j];
		}
	}
	
	//パート2(右下)
	for(int i=0;i<2050;i++){
		for(int j=0;j<2050;j++){
			if(i+j+1<2050)add1[j+1][i+j+1]+=add1[j][i+j];
			else break;
		}
	}
	for(int i=1;i<2050;i++){
		for(int j=0;j<2050;j++){
			if(i+j+1<2050)add1[i+j+1][j+1]+=add1[i+j][j];
			else break;
		}
	}
	
	//パート3(横)
	for(int i=0;i<2050;i++){
		for(int j=0;j<2050;j++){
			add1[j+1][i]+=add1[j][i];
		}
	}
	
	int res=0;
	for(int i=0;i<2050;i++){
		for(int j=0;j<2050;j++){
			res=max(res,add1[j][i]);
		}
	}
	
	printf("%d\n",res);
	return 0;
}

Submission Info

Submission Time
Task I - その味は甘くて
User ryoissy
Language C++ (G++ 4.6.4)
Score 150
Code Size 2674 Byte
Status AC
Exec Time 823 ms
Memory 68128 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:12:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:15:32: 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 788 ms 68008 KB
large1/case_001.txt AC 787 ms 68008 KB
large1/case_002.txt AC 805 ms 68060 KB
large1/case_003.txt AC 786 ms 68000 KB
large1/case_004.txt AC 786 ms 68004 KB
large1/case_005.txt AC 778 ms 68004 KB
large1/case_006.txt AC 788 ms 68008 KB
large1/case_007.txt AC 802 ms 68080 KB
large1/case_008.txt AC 810 ms 68108 KB
large1/case_009.txt AC 805 ms 68008 KB
large1/case_010.txt AC 776 ms 68064 KB
large1/case_011.txt AC 781 ms 68080 KB
large1/case_012.txt AC 784 ms 68064 KB
large1/case_013.txt AC 796 ms 68004 KB
large1/case_014.txt AC 789 ms 68000 KB
large1/case_015.txt AC 776 ms 68004 KB
large1/case_024.txt AC 790 ms 67996 KB
large1/case_025.txt AC 793 ms 68004 KB
large1/case_026.txt AC 791 ms 68000 KB
large1/case_027.txt AC 797 ms 67992 KB
large1/large1_case_000.txt AC 801 ms 68008 KB
large1/large1_case_001.txt AC 802 ms 68008 KB
large1/large1_case_002.txt AC 786 ms 68004 KB
large1/large1_case_003.txt AC 788 ms 68004 KB
large1/large1_case_004.txt AC 804 ms 68080 KB
large1/large1_case_005.txt AC 783 ms 68060 KB
large1/large1_case_006.txt AC 814 ms 68000 KB
large1/large1_case_007.txt AC 796 ms 67996 KB
large1/large1_case_008.txt AC 804 ms 68004 KB
large1/large1_case_009.txt AC 785 ms 68012 KB
large1/large1_case_010.txt AC 792 ms 67996 KB
large1/large1_case_011.txt AC 789 ms 68084 KB
large1/large1_case_012.txt AC 794 ms 68004 KB
large1/large1_case_013.txt AC 796 ms 68124 KB
large1/large1_case_014.txt AC 783 ms 68012 KB
large1/large1_case_020.txt AC 800 ms 68004 KB
large1/large1_case_021.txt AC 800 ms 67992 KB
large1/large1_case_022.txt AC 808 ms 68012 KB
large1/large1_case_023.txt AC 796 ms 68008 KB
large3/case_000.txt AC 780 ms 68000 KB
large3/case_001.txt AC 798 ms 68092 KB
large3/case_002.txt AC 803 ms 68008 KB
large3/case_003.txt AC 812 ms 68012 KB
large3/case_004.txt AC 786 ms 68004 KB
large3/case_005.txt AC 789 ms 68008 KB
large3/case_006.txt AC 799 ms 68004 KB
large3/case_007.txt AC 799 ms 68000 KB
large3/case_008.txt AC 795 ms 67992 KB
large3/case_009.txt AC 795 ms 67996 KB
large3/case_010.txt AC 794 ms 67992 KB
large3/case_011.txt AC 796 ms 68128 KB
large3/case_012.txt AC 808 ms 68008 KB
large3/case_013.txt AC 791 ms 67996 KB
large3/case_014.txt AC 797 ms 68008 KB
large3/case_015.txt AC 787 ms 68000 KB
large3/case_024.txt AC 790 ms 67996 KB
large3/case_025.txt AC 789 ms 68008 KB
large3/case_026.txt AC 809 ms 68004 KB
large3/case_027.txt AC 800 ms 68012 KB
large3/large1_case_000.txt AC 803 ms 68000 KB
large3/large1_case_001.txt AC 804 ms 68004 KB
large3/large1_case_002.txt AC 808 ms 67996 KB
large3/large1_case_003.txt AC 795 ms 67996 KB
large3/large1_case_004.txt AC 793 ms 68064 KB
large3/large1_case_005.txt AC 802 ms 68008 KB
large3/large1_case_006.txt AC 800 ms 68000 KB
large3/large1_case_007.txt AC 823 ms 68072 KB
large3/large1_case_008.txt AC 789 ms 68008 KB
large3/large1_case_009.txt AC 803 ms 68000 KB
large3/large1_case_010.txt AC 790 ms 68008 KB
large3/large1_case_011.txt AC 789 ms 67992 KB
large3/large1_case_012.txt AC 806 ms 68000 KB
large3/large1_case_013.txt AC 822 ms 68000 KB
large3/large1_case_014.txt AC 785 ms 68004 KB
large3/large1_case_020.txt AC 803 ms 68004 KB
large3/large1_case_021.txt AC 804 ms 68008 KB
large3/large1_case_022.txt AC 772 ms 68060 KB
large3/large1_case_023.txt AC 776 ms 68008 KB
large3/large3_case_000.txt AC 758 ms 67996 KB
large3/large3_case_001.txt AC 767 ms 68004 KB
large3/large3_case_002.txt AC 762 ms 67992 KB
large3/large3_case_003.txt AC 751 ms 68008 KB
large3/large3_case_004.txt AC 764 ms 68000 KB
large3/large3_case_005.txt AC 769 ms 68004 KB
large3/large3_case_006.txt AC 769 ms 68012 KB
large3/large3_case_007.txt AC 763 ms 67996 KB
large3/large3_case_008.txt AC 754 ms 68008 KB
large3/large3_case_009.txt AC 763 ms 68080 KB
large3/large3_case_010.txt AC 766 ms 68000 KB
large3/large3_case_011.txt AC 762 ms 68060 KB
large3/large3_case_012.txt AC 777 ms 68004 KB
large3/large3_case_013.txt AC 753 ms 68056 KB
large3/large3_case_014.txt AC 780 ms 68000 KB
large3/large3_case_015.txt AC 773 ms 67996 KB
large3/large3_case_016.txt AC 767 ms 68000 KB
large3/large3_case_017.txt AC 778 ms 68000 KB
large3/large3_case_018.txt AC 786 ms 68000 KB
large3/large3_case_019.txt AC 774 ms 68004 KB
large3/large3_case_020.txt AC 779 ms 68012 KB
large3/large3_case_021.txt AC 777 ms 68008 KB
large3/large3_case_022.txt AC 777 ms 68008 KB
large3/large3_case_023.txt AC 767 ms 67992 KB
small/case_000.txt AC 788 ms 68084 KB
small/case_001.txt AC 799 ms 68076 KB
small/case_002.txt AC 806 ms 68008 KB
small/case_003.txt AC 792 ms 68004 KB
small/case_004.txt AC 796 ms 68000 KB
small/case_005.txt AC 807 ms 67996 KB
small/case_006.txt AC 807 ms 68004 KB
small/case_007.txt AC 781 ms 68056 KB
small/case_008.txt AC 785 ms 68004 KB
small/case_009.txt AC 783 ms 68060 KB
small/case_010.txt AC 782 ms 68004 KB
small/case_011.txt AC 787 ms 68008 KB
small/case_012.txt AC 805 ms 67992 KB
small/case_013.txt AC 792 ms 68004 KB
small/case_014.txt AC 780 ms 68000 KB
small/case_015.txt AC 821 ms 68004 KB
small/case_024.txt AC 810 ms 68064 KB
small/case_025.txt AC 769 ms 67996 KB
small/case_026.txt AC 797 ms 68008 KB
small/case_027.txt AC 807 ms 68012 KB