Submission #2180926


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <queue>
#include <set>
#include <map>
#include <string.h>
#include <cmath>

using namespace std;
typedef long long i64;
typedef long double ld;
typedef pair<i64,i64> P;
#define rep(i,s,e) for(int (i) = (s);(i) <= (e);++(i))

int w;
int h;

int n;

int x[33];
int y[33];

vector<i64> Xs,Ys;

i64 dp[33][33][33][33];

i64 rec(int x1,int y1,int x2,int y2)
{
	if(x1 < 0 || x2 < 0 || y1 < 0 || y2 < 0) return 0;
	if(dp[x1][y1][x2][y2] != -1) return dp[x1][y1][x2][y2];

	i64 result = 0;
	rep(i,1,n)
	{
		if(x1 < x[i] && x[i] < x2 && y1 < y[i] && y[i] < y2)
		{
			i64 now = 0;
			now += Xs[x2] - Xs[x1] - 1;
			now += Ys[y2] - Ys[y1] - 1;

			now += -1;

			now += rec(x1,y1,x[i],y[i]);
			now += rec(x1,y[i],x[i],y2);
			now += rec(x[i],y1,x2,y[i]);
			now += rec(x[i],y[i],x2,y2);

			result = max(result ,now);
		}
	}

	return dp[x1][y1][x2][y2] = result;
}

#define INIT(i) rep(i,0,32)

int main()
{
	INIT(i) INIT(j) INIT(k) INIT(l) dp[i][j][k][l] = -1;
	cin>> w >> h >> n;
	rep(i,1,n)
	{
		cin >> x[i] >> y[i];
		Xs.push_back(x[i]);
		Ys.push_back(y[i]);
	}

	Xs.push_back(0);
	Ys.push_back(0);
	Xs.push_back(w + 1);
	Ys.push_back(h + 1);

	sort(Xs.begin(),Xs.end());
	sort(Ys.begin(),Ys.end());
	Xs.erase(unique(Xs.begin(),Xs.end()),Xs.end());
	Ys.erase(unique(Ys.begin(),Ys.end()),Ys.end());

	int w = Xs.size() - 1;
	int h = Ys.size() - 1;
	rep(i,1,n)
	{
		x[i] = lower_bound(Xs.begin(),Xs.end(),x[i]) - Xs.begin();
		y[i] = lower_bound(Ys.begin(),Ys.end(),y[i]) - Ys.begin();
	}

	cout << rec(0,0,w,h) << endl;

}

Submission Info

Submission Time
Task D - 金塊ゲーム
User niuez
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1694 Byte
Status AC
Exec Time 7 ms
Memory 9472 KB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 80 / 80 19 / 19 1 / 1
Status
AC × 3
AC × 25
AC × 50
AC × 75
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt
Subtask2 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt
Subtask3 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt, subtask1_22.txt, subtask1_23.txt, subtask1_24.txt, subtask1_25.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt, subtask2_21.txt, subtask2_22.txt, subtask2_23.txt, subtask2_24.txt, subtask2_25.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt, subtask3_04.txt, subtask3_05.txt, subtask3_06.txt, subtask3_07.txt, subtask3_08.txt, subtask3_09.txt, subtask3_10.txt, subtask3_11.txt, subtask3_12.txt, subtask3_13.txt, subtask3_14.txt, subtask3_15.txt, subtask3_16.txt, subtask3_17.txt, subtask3_18.txt, subtask3_19.txt, subtask3_20.txt, subtask3_21.txt, subtask3_22.txt, subtask3_23.txt, subtask3_24.txt, subtask3_25.txt
Case Name Status Exec Time Memory
sample_01.txt AC 4 ms 9472 KB
sample_02.txt AC 4 ms 9472 KB
sample_03.txt AC 4 ms 9472 KB
subtask1_01.txt AC 4 ms 9472 KB
subtask1_02.txt AC 4 ms 9472 KB
subtask1_03.txt AC 4 ms 9472 KB
subtask1_04.txt AC 4 ms 9472 KB
subtask1_05.txt AC 4 ms 9472 KB
subtask1_06.txt AC 4 ms 9472 KB
subtask1_07.txt AC 4 ms 9472 KB
subtask1_08.txt AC 4 ms 9472 KB
subtask1_09.txt AC 4 ms 9472 KB
subtask1_10.txt AC 4 ms 9472 KB
subtask1_11.txt AC 4 ms 9472 KB
subtask1_12.txt AC 4 ms 9472 KB
subtask1_13.txt AC 4 ms 9472 KB
subtask1_14.txt AC 4 ms 9472 KB
subtask1_15.txt AC 4 ms 9472 KB
subtask1_16.txt AC 4 ms 9472 KB
subtask1_17.txt AC 5 ms 9472 KB
subtask1_18.txt AC 4 ms 9472 KB
subtask1_19.txt AC 4 ms 9472 KB
subtask1_20.txt AC 4 ms 9472 KB
subtask1_21.txt AC 4 ms 9472 KB
subtask1_22.txt AC 4 ms 9472 KB
subtask1_23.txt AC 4 ms 9472 KB
subtask1_24.txt AC 4 ms 9472 KB
subtask1_25.txt AC 4 ms 9472 KB
subtask2_01.txt AC 5 ms 9472 KB
subtask2_02.txt AC 5 ms 9472 KB
subtask2_03.txt AC 5 ms 9472 KB
subtask2_04.txt AC 5 ms 9472 KB
subtask2_05.txt AC 5 ms 9472 KB
subtask2_06.txt AC 5 ms 9472 KB
subtask2_07.txt AC 5 ms 9472 KB
subtask2_08.txt AC 5 ms 9472 KB
subtask2_09.txt AC 6 ms 9472 KB
subtask2_10.txt AC 6 ms 9472 KB
subtask2_11.txt AC 6 ms 9472 KB
subtask2_12.txt AC 6 ms 9472 KB
subtask2_13.txt AC 5 ms 9472 KB
subtask2_14.txt AC 5 ms 9472 KB
subtask2_15.txt AC 4 ms 9472 KB
subtask2_16.txt AC 5 ms 9472 KB
subtask2_17.txt AC 7 ms 9472 KB
subtask2_18.txt AC 7 ms 9472 KB
subtask2_19.txt AC 6 ms 9472 KB
subtask2_20.txt AC 6 ms 9472 KB
subtask2_21.txt AC 6 ms 9472 KB
subtask2_22.txt AC 6 ms 9472 KB
subtask2_23.txt AC 6 ms 9472 KB
subtask2_24.txt AC 7 ms 9472 KB
subtask2_25.txt AC 7 ms 9472 KB
subtask3_01.txt AC 4 ms 9472 KB
subtask3_02.txt AC 5 ms 9472 KB
subtask3_03.txt AC 4 ms 9472 KB
subtask3_04.txt AC 5 ms 9472 KB
subtask3_05.txt AC 5 ms 9472 KB
subtask3_06.txt AC 5 ms 9472 KB
subtask3_07.txt AC 5 ms 9472 KB
subtask3_08.txt AC 5 ms 9472 KB
subtask3_09.txt AC 5 ms 9472 KB
subtask3_10.txt AC 6 ms 9472 KB
subtask3_11.txt AC 7 ms 9472 KB
subtask3_12.txt AC 6 ms 9472 KB
subtask3_13.txt AC 6 ms 9472 KB
subtask3_14.txt AC 6 ms 9472 KB
subtask3_15.txt AC 6 ms 9472 KB
subtask3_16.txt AC 6 ms 9472 KB
subtask3_17.txt AC 7 ms 9472 KB
subtask3_18.txt AC 5 ms 9472 KB
subtask3_19.txt AC 6 ms 9472 KB
subtask3_20.txt AC 5 ms 9472 KB
subtask3_21.txt AC 6 ms 9472 KB
subtask3_22.txt AC 7 ms 9472 KB
subtask3_23.txt AC 6 ms 9472 KB
subtask3_24.txt AC 6 ms 9472 KB
subtask3_25.txt AC 6 ms 9472 KB