Submission #7146179
Source Code Expand
#include<bits/stdc++.h> using namespace std; int main(){ int w, h; cin >> w >> h; int n; cin >> n; vector<pair<int, int>> gold(n); vector<int> dx; vector<int> dy; map<int, bool> used_x; map<int, bool> used_y; dx.push_back(0); used_x[0] = true; dx.push_back(w - 1); used_x[w - 1] = true; dy.push_back(0); used_y[0] = true; dy.push_back(h - 1); used_y[h - 1] = true; for (int i = 0; i < n; i++){ int x, y; cin >> x >> y; x--; y--; gold[i] = {x, y}; if (x != 0 && !used_x[x - 1]) { dx.push_back(x - 1); used_x[x - 1] = true; } if (x != w - 1 && !used_x[x + 1]) { dx.push_back(x + 1); used_x[x + 1] = true; } if (y != 0 && !used_y[y - 1]) { dy.push_back(y - 1); used_y[y - 1] = true; } if (y != h - 1 && !used_y[y + 1]) { dy.push_back(y + 1); used_y[y + 1] = true; } } sort(dx.begin(), dx.end()); sort(dy.begin(), dy.end()); map<int, int> xpos; map<int, int> ypos; int p = dx.size(); int q = dy.size(); for (int i = 0; i < p; i++) xpos[dx[i]] = i; xpos[- 1] = - 1; xpos[w] = p; for (int i = 0; i < q; i++) ypos[dy[i]] = i; ypos[- 1] = - 1; ypos[h] = q; vector<vector<vector<vector<long long>>>> dp(p, vector<vector<vector<long long>>>(q, vector<vector<long long>>(p, vector<long long>(q, 0)))); priority_queue<tuple<long long, int, int>, vector<tuple<long long, int, int>>, greater<tuple<long long, int, int>>> pq; for (int i = 0; i < p; i++){ for (int j = 0; j < q; j++){ for (int s = i; s < p; s++){ for (int t = j; t < q; t++){ long long fac = (dx[s] - dx[i] + 1) * (dy[t] - dy[j] + 1); int a = i * 100 + j; int b = s * 100 + t; pq.push(tie(fac, a, b)); } } } } while (pq.size()){ long long fac; int a, b; tie(fac, a, b) = pq.top(); pq.pop(); int ux, uy, sx, sy; ux = a / 100; uy = a % 100; sx = b / 100; sy = b % 100; bool flag = true; for (int i = 0; i < n; i++){ if (gold[i].first < dx[ux] || gold[i].first > dx[sx] || gold[i].second < dy[uy] || gold[i].second > dy[sy]) continue; long long d1, d2, d3, d4; d1 = 0; d2 = 0; d3 = 0; d4 = 0; if (ux < xpos[gold[i].first - 1] && uy < ypos[gold[i].second - 1]) d1 = dp[ux][uy][xpos[gold[i].first - 1]][ypos[gold[i].second - 1]]; if (xpos[gold[i].first + 1] < sx && uy < ypos[gold[i].second - 1]) d2 = dp[xpos[gold[i].first + 1]][uy][sx][ypos[gold[i].second - 1]]; if (ux < xpos[gold[i].first - 1] && ypos[gold[i].second + 1] < sy) d3 = dp[ux][ypos[gold[i].second + 1]][xpos[gold[i].first - 1]][sy]; if (xpos[gold[i].first + 1] < sx && ypos[gold[i].second + 1] < sy) d4 = dp[xpos[gold[i].first + 1]][ypos[gold[i].second + 1]][sx][sy]; dp[ux][uy][sx][sy] = max(dp[ux][uy][sx][sy], dx[sx] - dx[ux] + dy[sy] - dy[uy] + 1 + d1 + d2 + d3 + d4); } } cout << dp[0][0][p - 1][q - 1] << endl; }
Submission Info
Submission Time | |
---|---|
Task | D - 金塊ゲーム |
User | lemon_ |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 3402 Byte |
Status | WA |
Exec Time | 4215 ms |
Memory | 194668 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 80 | 0 / 19 | 0 / 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 | 1 ms | 256 KB |
sample_02.txt | WA | 1 ms | 256 KB |
sample_03.txt | WA | 2 ms | 512 KB |
subtask1_01.txt | AC | 1 ms | 256 KB |
subtask1_02.txt | AC | 1 ms | 256 KB |
subtask1_03.txt | WA | 2 ms | 384 KB |
subtask1_04.txt | AC | 6 ms | 1152 KB |
subtask1_05.txt | AC | 1 ms | 256 KB |
subtask1_06.txt | WA | 1 ms | 256 KB |
subtask1_07.txt | AC | 2 ms | 512 KB |
subtask1_08.txt | AC | 1 ms | 256 KB |
subtask1_09.txt | AC | 3 ms | 640 KB |
subtask1_10.txt | AC | 1 ms | 256 KB |
subtask1_11.txt | AC | 2 ms | 512 KB |
subtask1_12.txt | WA | 2 ms | 384 KB |
subtask1_13.txt | AC | 2 ms | 512 KB |
subtask1_14.txt | AC | 3 ms | 896 KB |
subtask1_15.txt | AC | 8 ms | 1660 KB |
subtask1_16.txt | AC | 6 ms | 1312 KB |
subtask1_17.txt | AC | 6 ms | 1184 KB |
subtask1_18.txt | WA | 3 ms | 640 KB |
subtask1_19.txt | WA | 2 ms | 384 KB |
subtask1_20.txt | WA | 2 ms | 384 KB |
subtask1_21.txt | AC | 6 ms | 1184 KB |
subtask1_22.txt | AC | 6 ms | 1280 KB |
subtask1_23.txt | WA | 2 ms | 512 KB |
subtask1_24.txt | AC | 9 ms | 1788 KB |
subtask1_25.txt | AC | 8 ms | 1660 KB |
subtask2_01.txt | WA | 22 ms | 3260 KB |
subtask2_02.txt | WA | 27 ms | 3320 KB |
subtask2_03.txt | WA | 172 ms | 18800 KB |
subtask2_04.txt | AC | 263 ms | 23280 KB |
subtask2_05.txt | WA | 423 ms | 36592 KB |
subtask2_06.txt | AC | 401 ms | 27632 KB |
subtask2_07.txt | WA | 262 ms | 21744 KB |
subtask2_08.txt | WA | 173 ms | 13428 KB |
subtask2_09.txt | WA | 1021 ms | 72300 KB |
subtask2_10.txt | AC | 1439 ms | 84204 KB |
subtask2_11.txt | WA | 508 ms | 39536 KB |
subtask2_12.txt | WA | 1704 ms | 90352 KB |
subtask2_13.txt | AC | 800 ms | 51312 KB |
subtask2_14.txt | WA | 876 ms | 70508 KB |
subtask2_15.txt | AC | 20 ms | 3260 KB |
subtask2_16.txt | WA | 290 ms | 23408 KB |
subtask2_17.txt | WA | 491 ms | 36844 KB |
subtask2_18.txt | WA | 1303 ms | 81772 KB |
subtask2_19.txt | WA | 757 ms | 47984 KB |
subtask2_20.txt | WA | 931 ms | 69228 KB |
subtask2_21.txt | AC | 1127 ms | 74476 KB |
subtask2_22.txt | WA | 1252 ms | 79980 KB |
subtask2_23.txt | AC | 1457 ms | 84716 KB |
subtask2_24.txt | AC | 1445 ms | 85872 KB |
subtask2_25.txt | WA | 1799 ms | 94832 KB |
subtask3_01.txt | WA | 4 ms | 1056 KB |
subtask3_02.txt | WA | 144 ms | 18928 KB |
subtask3_03.txt | WA | 28 ms | 3576 KB |
subtask3_04.txt | AC | 286 ms | 25200 KB |
subtask3_05.txt | AC | 717 ms | 48752 KB |
subtask3_06.txt | WA | 599 ms | 45296 KB |
subtask3_07.txt | WA | 261 ms | 24048 KB |
subtask3_08.txt | WA | 602 ms | 47088 KB |
subtask3_09.txt | WA | 2041 ms | 98928 KB |
subtask3_10.txt | WA | 1413 ms | 85616 KB |
subtask3_11.txt | TLE | 4211 ms | 193516 KB |
subtask3_12.txt | TLE | 4210 ms | 190316 KB |
subtask3_13.txt | TLE | 4211 ms | 194156 KB |
subtask3_14.txt | WA | 1569 ms | 95084 KB |
subtask3_15.txt | WA | 2580 ms | 153964 KB |
subtask3_16.txt | WA | 1282 ms | 85868 KB |
subtask3_17.txt | TLE | 4215 ms | 194028 KB |
subtask3_18.txt | AC | 695 ms | 50544 KB |
subtask3_19.txt | TLE | 4210 ms | 193900 KB |
subtask3_20.txt | WA | 617 ms | 45040 KB |
subtask3_21.txt | TLE | 4211 ms | 193004 KB |
subtask3_22.txt | TLE | 4212 ms | 193132 KB |
subtask3_23.txt | TLE | 4211 ms | 193388 KB |
subtask3_24.txt | TLE | 4211 ms | 192876 KB |
subtask3_25.txt | TLE | 4211 ms | 194668 KB |