Submission #5897558


Source Code Expand

#pragma once
#include <stdio.h>
#include <sstream>
#include <string>
#include <string.h>
#include <vector>
#include <map>
#include <algorithm>
#include <iostream>
#include <utility>
#include <set>
#include <cctype>
#include <queue>
#include <stack>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <deque>
#include <limits>
#include <iomanip>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
#define bit(x,v) ((ll)x << v)

const ll INF = 1000000007;
const int MAX = 210000;
const int MOD = 1000000007;

long long fac[MAX], finv[MAX], inv[MAX];
void COMinit() {
	fac[0] = fac[1] = 1;
	finv[0] = finv[1] = 1;
	inv[1] = 1;
	for (int i = 2; i < MAX; i++) {
		fac[i] = fac[i - 1] * i % MOD;
		inv[i] = MOD - inv[MOD % i] * (MOD / i) % MOD;
		finv[i] = finv[i - 1] * inv[i] % MOD;
	}
}

// 二項係数計算
long long COM(int n, int k) {
	if (n < k) return 0;
	if (n < 0 || k < 0) return 0;
	return fac[n] * (finv[k] * finv[n - k] % MOD) % MOD;
}

ll gcd(ll a, ll b) {
	if (b == 0) return a;
	return gcd(b, a % b);
}
int pr[100010];
void uini(int n) {
	for (size_t i = 0; i <= n; i++)
	{
		pr[i] = i;
	}
}

int parent(int x) {
	if (x == pr[x]) return x;
	return pr[x] = parent(pr[x]);
}

bool unit(int x, int y) {
	int px = parent(x);
	int py = parent(y);

	if (px == py) return false;
	if (px < py) {
		pr[py] = px;
	}
	else {
		pr[px] = py;
	}
	return true;
}

// res[i][c] := i 文字目以降で最初に文字 c が登場する index (存在しないときは n)
vector<vector<int> > calcNext(const string & S) {
	int n = (int)S.size();
	vector<vector<int> > res(n + 1, vector<int>(26, n));
	for (int i = n - 1; i >= 0; --i) {
		for (int j = 0; j < 26; ++j) res[i][j] = res[i + 1][j];
		res[i][S[i] - 'a'] = i;
	}
	return res;
}
// mod 1000000007 の世界で a += b する関数
void add(long long& a, long long b) {
	a += b;
	if (a >= MOD) a -= MOD;
}

ll f(ll b, ll n) {
	if (b > n) return n;
	return f(b, n / b) + (n % b);
}
ll x[35], y[35];
ll memo[35][35][35][35];
int n;
ll calc(int x1, int y1, int x2, int y2) {

	ll &res = memo[x1][y1][x2][y2];
	if (~res) return res;
	res = 0;
	ll xl = x[x1];
	ll yu = y[y1];
	ll xr = x[x2];
	ll yd = y[y2];
	for (size_t i = 0; i < n; i++)
	{
		if (x[i] <= xl || xr <= x[i] || y[i] <= yu || yd <= y[i]) continue;
		ll sum = (xr - xl - 1) + (yd - yu - 1) - 1;
		sum += calc(x1, y1, i, i);
		sum += calc(i, y1,x2,i);
		sum += calc(x1, i, i, y2);
		sum += calc(i, i, x2, y2);
		res = max(res, sum);
	}
	return res;
}
void solv() {
	ll w, h;
	cin >> w >> h;
	cin >> n;
	for (size_t i = 0; i < n; i++)
	{
		cin >> x[i] >> y[i];
	}
	memset(memo, -1, sizeof(memo));
	x[n] = y[n] = 0;
	x[n + 1] = w + 1;
	y[n + 1] = h + 1;
	cout << calc(n, n, n + 1, n + 1) << endl;
}

int main() {
//	COMinit();
	solv();

	return 0;
}

Submission Info

Submission Time
Task D - 金塊ゲーム
User moxn_nxom
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2934 Byte
Status AC
Exec Time 6 ms
Memory 12544 KB

Compile Error

./Main.cpp:1:9: warning: #pragma once in main file
 #pragma once
         ^

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 12544 KB
sample_02.txt AC 4 ms 12544 KB
sample_03.txt AC 5 ms 12544 KB
subtask1_01.txt AC 5 ms 12544 KB
subtask1_02.txt AC 5 ms 12544 KB
subtask1_03.txt AC 5 ms 12544 KB
subtask1_04.txt AC 5 ms 12544 KB
subtask1_05.txt AC 4 ms 12544 KB
subtask1_06.txt AC 4 ms 12544 KB
subtask1_07.txt AC 4 ms 12544 KB
subtask1_08.txt AC 4 ms 12544 KB
subtask1_09.txt AC 5 ms 12544 KB
subtask1_10.txt AC 5 ms 12544 KB
subtask1_11.txt AC 4 ms 12544 KB
subtask1_12.txt AC 5 ms 12544 KB
subtask1_13.txt AC 5 ms 12544 KB
subtask1_14.txt AC 5 ms 12544 KB
subtask1_15.txt AC 5 ms 12544 KB
subtask1_16.txt AC 5 ms 12544 KB
subtask1_17.txt AC 4 ms 12544 KB
subtask1_18.txt AC 5 ms 12544 KB
subtask1_19.txt AC 4 ms 12544 KB
subtask1_20.txt AC 4 ms 12544 KB
subtask1_21.txt AC 5 ms 12544 KB
subtask1_22.txt AC 5 ms 12544 KB
subtask1_23.txt AC 4 ms 12544 KB
subtask1_24.txt AC 4 ms 12544 KB
subtask1_25.txt AC 4 ms 12544 KB
subtask2_01.txt AC 4 ms 12544 KB
subtask2_02.txt AC 5 ms 12544 KB
subtask2_03.txt AC 5 ms 12544 KB
subtask2_04.txt AC 5 ms 12544 KB
subtask2_05.txt AC 5 ms 12544 KB
subtask2_06.txt AC 5 ms 12544 KB
subtask2_07.txt AC 5 ms 12544 KB
subtask2_08.txt AC 5 ms 12544 KB
subtask2_09.txt AC 6 ms 12544 KB
subtask2_10.txt AC 6 ms 12544 KB
subtask2_11.txt AC 6 ms 12544 KB
subtask2_12.txt AC 6 ms 12544 KB
subtask2_13.txt AC 5 ms 12544 KB
subtask2_14.txt AC 5 ms 12544 KB
subtask2_15.txt AC 4 ms 12544 KB
subtask2_16.txt AC 5 ms 12544 KB
subtask2_17.txt AC 6 ms 12544 KB
subtask2_18.txt AC 6 ms 12544 KB
subtask2_19.txt AC 6 ms 12544 KB
subtask2_20.txt AC 6 ms 12544 KB
subtask2_21.txt AC 6 ms 12544 KB
subtask2_22.txt AC 6 ms 12544 KB
subtask2_23.txt AC 6 ms 12544 KB
subtask2_24.txt AC 6 ms 12544 KB
subtask2_25.txt AC 6 ms 12544 KB
subtask3_01.txt AC 5 ms 12544 KB
subtask3_02.txt AC 5 ms 12544 KB
subtask3_03.txt AC 5 ms 12544 KB
subtask3_04.txt AC 5 ms 12544 KB
subtask3_05.txt AC 5 ms 12544 KB
subtask3_06.txt AC 5 ms 12544 KB
subtask3_07.txt AC 5 ms 12544 KB
subtask3_08.txt AC 5 ms 12544 KB
subtask3_09.txt AC 5 ms 12544 KB
subtask3_10.txt AC 6 ms 12544 KB
subtask3_11.txt AC 6 ms 12544 KB
subtask3_12.txt AC 6 ms 12544 KB
subtask3_13.txt AC 6 ms 12544 KB
subtask3_14.txt AC 6 ms 12544 KB
subtask3_15.txt AC 6 ms 12544 KB
subtask3_16.txt AC 6 ms 12544 KB
subtask3_17.txt AC 6 ms 12544 KB
subtask3_18.txt AC 5 ms 12544 KB
subtask3_19.txt AC 6 ms 12544 KB
subtask3_20.txt AC 5 ms 12544 KB
subtask3_21.txt AC 6 ms 12544 KB
subtask3_22.txt AC 6 ms 12544 KB
subtask3_23.txt AC 6 ms 12544 KB
subtask3_24.txt AC 6 ms 12544 KB
subtask3_25.txt AC 6 ms 12544 KB