Submission #2448724


Source Code Expand

#include <map>
#include <set>
#include <cmath>
#include <stack>
#include <queue>
#include <string>
#include <vector>
#include <bitset>
#include <fstream>
#include <sstream>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#include <iostream>
#include <algorithm>
using namespace std;
#define li        long long int
#define rep(i,to) for(li i=0;i<((li)(to));++i)
#define pb        push_back
#define sz(v)     ((li)(v).size())
#define bit(n)    (1ll<<(li)(n))
#define all(vec)  (vec).begin(),(vec).end()
#define each(i,c) for(__typeof((c).begin()) i=(c).begin();i!=(c).end();i++)
#define MP        make_pair
#define F         first
#define S         second
 
 
 
#define MAX 2050
#define GETA 1050
li holi[MAX][MAX];
li diag[MAX][MAX];
li mp[MAX][MAX];
 
void setHoli(li x, li y, li a){ holi[min(MAX - 1ll, max(0ll, x))][min(MAX - 1ll, max(0ll, y))] += a; }
void setDiag(li x, li y, li a){ diag[min(MAX - 1ll, max(0ll, x))][min(MAX - 1ll, max(0ll, y))] += a; }
 
void add(li x, li y, li n, li a)
{
	setHoli(x - n + 1, y - n + 1, a);
	setHoli(x - n + 1, y + 1, -a);
	setDiag(x - n + 2, y + 1, a);
	setDiag(x + 1, y + n, -a);
	setDiag(x + 1, y - n + 1, -a);
	setDiag(x + n + 1, y + 1, a);
	setHoli(x + n, y + 1, -a);
	setHoli(x + n, y + n, a);
}
 
 
int main()
{
	li N;
	cin >> N;
	rep(i, N){
		li t, x, y, n;
		cin >> t >> x >> y >> n; y = -y;
		if(t == 1) add(x + GETA, y + GETA, n, 1);
		if(t == 2) rep(d, n) add(x + GETA, y + GETA, d + 1, 1);
		if(t == 3) rep(d, n) add(x + GETA, y + GETA, d + 1, (n - d) * (n - d) - (n - d - 1) * (n - d - 1));
	}
	
	rep(i, MAX)rep(j, MAX)if(j + 1 < MAX) holi[i][j + 1] += holi[i][j];
	rep(i, MAX)rep(j, MAX)if(i + 1 < MAX && j + 1 < MAX) diag[i + 1][j + 1] += diag[i][j];
	
	rep(i, MAX)rep(j, MAX){
		if(0 < i) mp[i][j] += mp[i - 1][j];
		mp[i][j] += holi[i][j];
		mp[i][j] += diag[i][j];
	}
	
	li res = 0;
	rep(i, MAX)rep(j, MAX) res = max(res, mp[i][j]);
	cout << res << endl;
}

Submission Info

Submission Time
Task I - その味は甘くて
User vhenry
Language C++ (GCC 5.4.1)
Score 150
Code Size 2000 Byte
Status AC
Exec Time 198 ms
Memory 98816 KB

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 40 ms 98688 KB
large1/case_001.txt AC 40 ms 98688 KB
large1/case_002.txt AC 40 ms 98688 KB
large1/case_003.txt AC 40 ms 98688 KB
large1/case_004.txt AC 40 ms 98688 KB
large1/case_005.txt AC 40 ms 98688 KB
large1/case_006.txt AC 40 ms 98688 KB
large1/case_007.txt AC 41 ms 98688 KB
large1/case_008.txt AC 40 ms 98688 KB
large1/case_009.txt AC 40 ms 98688 KB
large1/case_010.txt AC 40 ms 98688 KB
large1/case_011.txt AC 41 ms 98688 KB
large1/case_012.txt AC 40 ms 98688 KB
large1/case_013.txt AC 40 ms 98688 KB
large1/case_014.txt AC 40 ms 98688 KB
large1/case_015.txt AC 40 ms 98688 KB
large1/case_024.txt AC 40 ms 98688 KB
large1/case_025.txt AC 40 ms 98688 KB
large1/case_026.txt AC 40 ms 98688 KB
large1/case_027.txt AC 40 ms 98688 KB
large1/large1_case_000.txt AC 51 ms 98688 KB
large1/large1_case_001.txt AC 51 ms 98688 KB
large1/large1_case_002.txt AC 51 ms 98688 KB
large1/large1_case_003.txt AC 51 ms 98688 KB
large1/large1_case_004.txt AC 51 ms 98688 KB
large1/large1_case_005.txt AC 51 ms 98688 KB
large1/large1_case_006.txt AC 51 ms 98688 KB
large1/large1_case_007.txt AC 51 ms 98688 KB
large1/large1_case_008.txt AC 51 ms 98688 KB
large1/large1_case_009.txt AC 51 ms 98688 KB
large1/large1_case_010.txt AC 51 ms 98688 KB
large1/large1_case_011.txt AC 51 ms 98688 KB
large1/large1_case_012.txt AC 51 ms 98688 KB
large1/large1_case_013.txt AC 51 ms 98688 KB
large1/large1_case_014.txt AC 51 ms 98688 KB
large1/large1_case_020.txt AC 51 ms 98688 KB
large1/large1_case_021.txt AC 51 ms 98688 KB
large1/large1_case_022.txt AC 50 ms 98688 KB
large1/large1_case_023.txt AC 50 ms 98688 KB
large3/case_000.txt AC 40 ms 98816 KB
large3/case_001.txt AC 40 ms 98688 KB
large3/case_002.txt AC 40 ms 98688 KB
large3/case_003.txt AC 40 ms 98688 KB
large3/case_004.txt AC 40 ms 98688 KB
large3/case_005.txt AC 40 ms 98688 KB
large3/case_006.txt AC 40 ms 98688 KB
large3/case_007.txt AC 40 ms 98688 KB
large3/case_008.txt AC 40 ms 98688 KB
large3/case_009.txt AC 40 ms 98688 KB
large3/case_010.txt AC 40 ms 98688 KB
large3/case_011.txt AC 40 ms 98688 KB
large3/case_012.txt AC 40 ms 98688 KB
large3/case_013.txt AC 40 ms 98688 KB
large3/case_014.txt AC 40 ms 98688 KB
large3/case_015.txt AC 40 ms 98688 KB
large3/case_024.txt AC 40 ms 98688 KB
large3/case_025.txt AC 40 ms 98688 KB
large3/case_026.txt AC 40 ms 98688 KB
large3/case_027.txt AC 40 ms 98688 KB
large3/large1_case_000.txt AC 51 ms 98688 KB
large3/large1_case_001.txt AC 51 ms 98688 KB
large3/large1_case_002.txt AC 51 ms 98688 KB
large3/large1_case_003.txt AC 51 ms 98688 KB
large3/large1_case_004.txt AC 51 ms 98688 KB
large3/large1_case_005.txt AC 51 ms 98688 KB
large3/large1_case_006.txt AC 51 ms 98688 KB
large3/large1_case_007.txt AC 51 ms 98688 KB
large3/large1_case_008.txt AC 51 ms 98688 KB
large3/large1_case_009.txt AC 51 ms 98688 KB
large3/large1_case_010.txt AC 51 ms 98688 KB
large3/large1_case_011.txt AC 51 ms 98688 KB
large3/large1_case_012.txt AC 51 ms 98688 KB
large3/large1_case_013.txt AC 51 ms 98688 KB
large3/large1_case_014.txt AC 51 ms 98688 KB
large3/large1_case_020.txt AC 51 ms 98688 KB
large3/large1_case_021.txt AC 50 ms 98688 KB
large3/large1_case_022.txt AC 50 ms 98688 KB
large3/large1_case_023.txt AC 49 ms 98688 KB
large3/large3_case_000.txt AC 186 ms 98688 KB
large3/large3_case_001.txt AC 192 ms 98688 KB
large3/large3_case_002.txt AC 195 ms 98688 KB
large3/large3_case_003.txt AC 184 ms 98688 KB
large3/large3_case_004.txt AC 186 ms 98688 KB
large3/large3_case_005.txt AC 185 ms 98688 KB
large3/large3_case_006.txt AC 180 ms 98688 KB
large3/large3_case_007.txt AC 181 ms 98688 KB
large3/large3_case_008.txt AC 180 ms 98688 KB
large3/large3_case_009.txt AC 186 ms 98688 KB
large3/large3_case_010.txt AC 185 ms 98688 KB
large3/large3_case_011.txt AC 189 ms 98688 KB
large3/large3_case_012.txt AC 184 ms 98688 KB
large3/large3_case_013.txt AC 198 ms 98688 KB
large3/large3_case_014.txt AC 183 ms 98688 KB
large3/large3_case_015.txt AC 179 ms 98688 KB
large3/large3_case_016.txt AC 182 ms 98688 KB
large3/large3_case_017.txt AC 180 ms 98688 KB
large3/large3_case_018.txt AC 185 ms 98688 KB
large3/large3_case_019.txt AC 186 ms 98688 KB
large3/large3_case_020.txt AC 138 ms 98688 KB
large3/large3_case_021.txt AC 136 ms 98688 KB
large3/large3_case_022.txt AC 135 ms 98688 KB
large3/large3_case_023.txt AC 134 ms 98688 KB
small/case_000.txt AC 40 ms 98688 KB
small/case_001.txt AC 40 ms 98688 KB
small/case_002.txt AC 40 ms 98688 KB
small/case_003.txt AC 40 ms 98688 KB
small/case_004.txt AC 40 ms 98688 KB
small/case_005.txt AC 40 ms 98688 KB
small/case_006.txt AC 40 ms 98688 KB
small/case_007.txt AC 40 ms 98688 KB
small/case_008.txt AC 40 ms 98688 KB
small/case_009.txt AC 41 ms 98688 KB
small/case_010.txt AC 40 ms 98688 KB
small/case_011.txt AC 40 ms 98688 KB
small/case_012.txt AC 40 ms 98688 KB
small/case_013.txt AC 40 ms 98688 KB
small/case_014.txt AC 40 ms 98688 KB
small/case_015.txt AC 40 ms 98688 KB
small/case_024.txt AC 41 ms 98688 KB
small/case_025.txt AC 40 ms 98688 KB
small/case_026.txt AC 41 ms 98688 KB
small/case_027.txt AC 41 ms 98688 KB