Submission #229091
Source Code Expand
#include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include <climits> #include <cfloat> #include <map> #include <utility> #include <set> #include <iostream> #include <memory> #include <string> #include <vector> #include <algorithm> #include <functional> #include <sstream> #include <complex> #include <stack> #include <queue> #include <numeric> #include <cassert> #define FOR(i, min, max) for (int i = (min); i < (max); ++i) #define FORE(i, min, max) for (int i = (min); i <= (max); ++i) #define REP(i, n) for (int i = 0; i < (n); ++i) #define REPV(vec, i) for (int i = 0; i < (int)(vec.size()); ++i) #define FOR_EACH(vec, it) for (typeof((vec).begin()) it = (vec).begin(); it != (vec).end(); ++it) using namespace std; static const double EPS = 1e-12; typedef long long ll; ll mem[32][32][32][32]; /* [startx][starty][endx][endy] */ int W, H; int N; vector<pair<int, int> > P; int XtoIdx[1<<20]; int YtoIdx[1<<20]; ll solve(int sx, int sy, int ex, int ey) { if (sx > ex || sy > ey) { return 0; } ll &ret = mem[XtoIdx[sx]][YtoIdx[sy]][XtoIdx[ex]][YtoIdx[ey]]; if (ret < 0) { ret = 0; int sizex = (ex-sx+1); int sizey = (ey-sy+1); int numC = (sizex+sizey-1); REP(i, N) if (sx <= P[i].first && P[i].first <= ex && sy <= P[i].second && P[i].second <= ey) { ll n = numC; // left upper n += solve(sx, sy, P[i].first-1, P[i].second-1); // right upper n += solve(P[i].first+1, sy, ex, P[i].second-1); // left lower n += solve(sx, P[i].second+1, P[i].first-1, ey); // right upper n += solve(P[i].first+1, P[i].second+1, ex, ey); if (n > ret) { ret = n; } } //cout << "[DEBUG]: (" << sx << "," << sy << "),(" << ex << "," << ey << "): " << numC << "," << ret << endl; } return ret; } int main(void) { cin >> W >> H; cin >> N; P.resize(N); set<int> X; set<int> Y; X.insert(1); X.insert(W); Y.insert(1); Y.insert(H); REP(i, N) { cin >> P[i].first >> P[i].second; X.insert(P[i].first+1); X.insert(P[i].first-1); Y.insert(P[i].second+1); Y.insert(P[i].second-1); } memset(XtoIdx, -1, sizeof(XtoIdx)); memset(YtoIdx, -1, sizeof(YtoIdx)); int xidx = 0; for (set<int>::iterator it=X.begin(); it!=X.end(); it++) { XtoIdx[*it] = xidx++; } int yidx = 0; for (set<int>::iterator it=Y.begin(); it!=Y.end(); it++) { YtoIdx[*it] = yidx++; } memset(mem, -1, sizeof(mem)); ll ans = solve(1, 1, W, H); cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 金塊ゲーム |
User | imazato |
Language | C++ (G++ 4.6.4) |
Score | 80 |
Code Size | 2886 Byte |
Status | WA |
Exec Time | 544 ms |
Memory | 17192 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 80 / 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 | 54 ms | 17184 KB |
sample_02.txt | AC | 52 ms | 17052 KB |
sample_03.txt | AC | 51 ms | 17120 KB |
subtask1_01.txt | AC | 56 ms | 17120 KB |
subtask1_02.txt | AC | 49 ms | 17188 KB |
subtask1_03.txt | AC | 56 ms | 17188 KB |
subtask1_04.txt | AC | 49 ms | 17056 KB |
subtask1_05.txt | AC | 53 ms | 17060 KB |
subtask1_06.txt | AC | 55 ms | 17116 KB |
subtask1_07.txt | AC | 54 ms | 17060 KB |
subtask1_08.txt | AC | 51 ms | 17176 KB |
subtask1_09.txt | AC | 48 ms | 17064 KB |
subtask1_10.txt | AC | 50 ms | 17060 KB |
subtask1_11.txt | AC | 50 ms | 17176 KB |
subtask1_12.txt | AC | 53 ms | 17184 KB |
subtask1_13.txt | AC | 51 ms | 17068 KB |
subtask1_14.txt | AC | 52 ms | 17064 KB |
subtask1_15.txt | AC | 53 ms | 17056 KB |
subtask1_16.txt | AC | 55 ms | 17184 KB |
subtask1_17.txt | AC | 54 ms | 17188 KB |
subtask1_18.txt | AC | 54 ms | 17064 KB |
subtask1_19.txt | AC | 55 ms | 17184 KB |
subtask1_20.txt | AC | 48 ms | 17184 KB |
subtask1_21.txt | AC | 53 ms | 17068 KB |
subtask1_22.txt | AC | 55 ms | 17192 KB |
subtask1_23.txt | AC | 50 ms | 17164 KB |
subtask1_24.txt | AC | 52 ms | 17180 KB |
subtask1_25.txt | AC | 76 ms | 17168 KB |
subtask2_01.txt | AC | 54 ms | 17128 KB |
subtask2_02.txt | AC | 51 ms | 17116 KB |
subtask2_03.txt | AC | 53 ms | 17060 KB |
subtask2_04.txt | RE | 544 ms | 17060 KB |
subtask2_05.txt | RE | 303 ms | 17120 KB |
subtask2_06.txt | RE | 303 ms | 17072 KB |
subtask2_07.txt | RE | 308 ms | 17084 KB |
subtask2_08.txt | AC | 55 ms | 17060 KB |
subtask2_09.txt | RE | 311 ms | 17188 KB |
subtask2_10.txt | RE | 318 ms | 17160 KB |
subtask2_11.txt | RE | 305 ms | 17064 KB |
subtask2_12.txt | RE | 313 ms | 17060 KB |
subtask2_13.txt | RE | 303 ms | 17180 KB |
subtask2_14.txt | RE | 298 ms | 17184 KB |
subtask2_15.txt | AC | 52 ms | 17140 KB |
subtask2_16.txt | RE | 300 ms | 17184 KB |
subtask2_17.txt | RE | 306 ms | 17052 KB |
subtask2_18.txt | RE | 315 ms | 17060 KB |
subtask2_19.txt | RE | 305 ms | 17120 KB |
subtask2_20.txt | RE | 300 ms | 17064 KB |
subtask2_21.txt | RE | 309 ms | 17176 KB |
subtask2_22.txt | RE | 306 ms | 17132 KB |
subtask2_23.txt | RE | 301 ms | 17068 KB |
subtask2_24.txt | RE | 293 ms | 17188 KB |
subtask2_25.txt | RE | 310 ms | 17192 KB |
subtask3_01.txt | AC | 51 ms | 17188 KB |
subtask3_02.txt | AC | 53 ms | 17068 KB |
subtask3_03.txt | AC | 54 ms | 17176 KB |
subtask3_04.txt | RE | 304 ms | 17180 KB |
subtask3_05.txt | RE | 314 ms | 17120 KB |
subtask3_06.txt | RE | 309 ms | 17064 KB |
subtask3_07.txt | WA | 54 ms | 17180 KB |
subtask3_08.txt | RE | 308 ms | 17068 KB |
subtask3_09.txt | RE | 313 ms | 17192 KB |
subtask3_10.txt | RE | 298 ms | 17132 KB |
subtask3_11.txt | RE | 293 ms | 17116 KB |
subtask3_12.txt | RE | 305 ms | 17184 KB |
subtask3_13.txt | RE | 291 ms | 17056 KB |
subtask3_14.txt | RE | 289 ms | 17060 KB |
subtask3_15.txt | RE | 292 ms | 17184 KB |
subtask3_16.txt | RE | 293 ms | 17112 KB |
subtask3_17.txt | RE | 288 ms | 17124 KB |
subtask3_18.txt | RE | 307 ms | 17192 KB |
subtask3_19.txt | RE | 306 ms | 17120 KB |
subtask3_20.txt | RE | 307 ms | 17184 KB |
subtask3_21.txt | RE | 301 ms | 17176 KB |
subtask3_22.txt | RE | 302 ms | 17064 KB |
subtask3_23.txt | RE | 301 ms | 17124 KB |
subtask3_24.txt | RE | 308 ms | 17064 KB |
subtask3_25.txt | RE | 286 ms | 17188 KB |