Submission #2414834
Source Code Expand
#include <bits/stdc++.h> using namespace std; using P = pair<int, int>; int main() { int N; cin >> N; char c; vector<int> x(N), y(N), d(N); map<int, set<P>> mp1, mp2; for (int i = 0; i < N; i++) { cin >> x[i] >> y[i] >> c; mp1[x[i]].insert(P(y[i], i)); mp2[y[i]].insert(P(x[i], i)); d[i] = c == '>' ? 0 : c == '^' ? 1 : c == '<' ? 2 : 3; } int res = 0; for (int i = 0; i < N; i++) { auto t1 = mp1; auto t2 = mp2; int p = i; int cnt = 0; while (1) { t1[x[p]].erase(P(y[p], p)); t2[y[p]].erase(P(x[p], p)); cnt++; if (d[p] == 3) { auto ite = t1[x[p]].lower_bound(P(y[p], 0)); if (t1[x[p]].empty() || ite == t1[x[p]].end()) { break; } p = ite->second; } else if (d[p] == 0) { auto ite = t2[y[p]].lower_bound(P(x[p], 0)); if (t2[y[p]].empty() || ite == t2[y[p]].end()) { break; } p = ite->second; } else if (d[p] == 1) { auto ite = t1[x[p]].upper_bound(P(y[p], 1e9)); if (t1[x[p]].empty() || ite-- == t1[x[p]].begin()) { break; } p = ite->second; } else { auto ite = t2[y[p]].upper_bound(P(x[p], 1e9)); if (t2[y[p]].empty() || ite-- == t2[y[p]].begin()) { break; } p = ite->second; } } res = max(res, cnt); } cout << res << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - Vector Field |
User | kazuma |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 1806 Byte |
Status | AC |
Exec Time | 2950 ms |
Memory | 1408 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00_sample_00, 00_sample_01, 10_sval_Small_00, 10_sval_Small_01, 10_sval_Small_02, 10_sval_Small_03, 10_sval_Small_04, 12_sval_Large_00, 12_sval_Large_01, 12_sval_Large_02, 12_sval_Large_03, 12_sval_Large_04, 20_lval_Small_00, 20_lval_Small_01, 20_lval_Small_02, 20_lval_Small_03, 20_lval_Small_04, 20_lval_Small_05, 20_lval_Small_06, 20_lval_Small_07, 20_lval_Small_08, 20_lval_Small_09, 22_lval_Large_00, 22_lval_Large_01, 22_lval_Large_02, 22_lval_Large_03, 22_lval_Large_04, 22_lval_Large_05, 22_lval_Large_06, 22_lval_Large_07, 22_lval_Large_08, 22_lval_Large_09, 32_NearMax_00, 32_NearMax_01, 32_NearMax_02, 32_NearMax_03, 32_NearMax_04, 32_NearMax_05, 32_NearMax_06, 32_NearMax_07, 32_NearMax_08, 32_NearMax_09 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00 | AC | 1 ms | 256 KB |
00_sample_01 | AC | 1 ms | 256 KB |
10_sval_Small_00 | AC | 1 ms | 256 KB |
10_sval_Small_01 | AC | 1 ms | 256 KB |
10_sval_Small_02 | AC | 1 ms | 256 KB |
10_sval_Small_03 | AC | 1 ms | 256 KB |
10_sval_Small_04 | AC | 1 ms | 256 KB |
12_sval_Large_00 | AC | 335 ms | 768 KB |
12_sval_Large_01 | AC | 537 ms | 768 KB |
12_sval_Large_02 | AC | 309 ms | 768 KB |
12_sval_Large_03 | AC | 634 ms | 896 KB |
12_sval_Large_04 | AC | 567 ms | 768 KB |
20_lval_Small_00 | AC | 1 ms | 256 KB |
20_lval_Small_01 | AC | 1 ms | 256 KB |
20_lval_Small_02 | AC | 1 ms | 256 KB |
20_lval_Small_03 | AC | 1 ms | 256 KB |
20_lval_Small_04 | AC | 1 ms | 256 KB |
20_lval_Small_05 | AC | 1 ms | 256 KB |
20_lval_Small_06 | AC | 1 ms | 256 KB |
20_lval_Small_07 | AC | 1 ms | 256 KB |
20_lval_Small_08 | AC | 1 ms | 256 KB |
20_lval_Small_09 | AC | 1 ms | 256 KB |
22_lval_Large_00 | AC | 862 ms | 896 KB |
22_lval_Large_01 | AC | 330 ms | 768 KB |
22_lval_Large_02 | AC | 305 ms | 768 KB |
22_lval_Large_03 | AC | 453 ms | 768 KB |
22_lval_Large_04 | AC | 346 ms | 768 KB |
22_lval_Large_05 | AC | 567 ms | 768 KB |
22_lval_Large_06 | AC | 913 ms | 896 KB |
22_lval_Large_07 | AC | 683 ms | 896 KB |
22_lval_Large_08 | AC | 357 ms | 768 KB |
22_lval_Large_09 | AC | 870 ms | 896 KB |
32_NearMax_00 | AC | 2333 ms | 1408 KB |
32_NearMax_01 | AC | 1944 ms | 1408 KB |
32_NearMax_02 | AC | 2302 ms | 1408 KB |
32_NearMax_03 | AC | 2950 ms | 1408 KB |
32_NearMax_04 | AC | 2929 ms | 1408 KB |
32_NearMax_05 | AC | 1914 ms | 1408 KB |
32_NearMax_06 | AC | 2918 ms | 1408 KB |
32_NearMax_07 | AC | 2916 ms | 1408 KB |
32_NearMax_08 | AC | 2278 ms | 1408 KB |
32_NearMax_09 | AC | 2500 ms | 1408 KB |