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 |
|
|
|
|
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 |