提出 #16246262
ソースコード 拡げる
#include<bits/stdc++.h>
#define _overload3(_1, _2, _3, name, ...) name
#define _rep(i, n) repi(i, 0, n)
#define repi(i, a, b) \
for (ll i = static_cast<int>(a); i < static_cast<int>(b); ++i)
#define rep(...) _overload3(__VA_ARGS__, repi, _rep, ) (__VA_ARGS__) // NOLINT
#define chmax(x, a) do { x = max(x, a); } while(0)
#define chmin(x, a) do { x = min(x, a); } while(0)
using namespace std;
typedef long long int ll;
typedef unsigned long long int ull;
typedef pair<ll,ll> PLL;
ll N, ans;
vector<ll> v;
ll dp[3000][3000];
const ll WILD_CARD = 2500;
const ll SENTINEL = 2600;
struct T {
ll x, y, val;
T(ll x, ll y, ll val): x(x), y(y), val(val) {}
};
void update(ll x, ll y, ll val) {
chmax(dp[x][y], val);
chmax(dp[y][x], val);
chmax(dp[x][WILD_CARD], val);
chmax(dp[y][WILD_CARD], val);
chmax(dp[WILD_CARD][x], val);
chmax(dp[WILD_CARD][y], val);
chmax(dp[WILD_CARD][WILD_CARD], val);
}
void solve() {
cin >> N;
v.resize(3*N);
rep(i, 3*N)
cin >> v[i], v[i]--;
v.push_back(SENTINEL + 1);
v.push_back(SENTINEL + 2);
rep(i, 3000) rep(j, 3000) dp[i][j] = -(1e18);
update(v[0], v[1], 0);
for (ll i = 2; i < 3 * N; i+=3) {
vector<T> upd;
// A
if (v[i] == v[i+1] && v[i+1] == v[i+2]) {
ans++;
continue;
}
vector<ll> w = {v[i], v[i+1], v[i+2]};
sort(begin(w),end(w));
do {
ll a = w[0], b = w[1], c = w[2];
// printf("a = %lld b = %lld c = %lld\n", a, b, c);
// B
if (a == b) {
rep(y, N) {
upd.emplace_back(c, y, dp[a][y]+1);
}
}
// C
upd.emplace_back(b, c, dp[a][a]+1);
// D
;
// E
rep(x, N)
upd.emplace_back(x, a, dp[x][WILD_CARD]);
// F
upd.emplace_back(a, b, dp[WILD_CARD][WILD_CARD]);
} while (next_permutation(begin(w), end(w)));
for (auto [x, y, val] : upd) {
update(x, y, val);
}
}
ans += dp[WILD_CARD][WILD_CARD];
cout << ans << endl;
}
int main() {
//ll T;
//cin >> T;
//rep(_,T)
solve();
return 0;
}
提出情報
| 提出日時 |
|
| 問題 |
F - Brave CHAIN |
| ユーザ |
bobuhiro11 |
| 言語 |
C++ (GCC 9.2.1) |
| 得点 |
600 |
| コード長 |
2135 Byte |
| 結果 |
AC |
| 実行時間 |
1171 ms |
| メモリ |
74244 KiB |
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
600 / 600 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
sample00, sample01, sample02 |
| All |
case03, case04, case05, case06, case07, case08, case09, case10, case11, case12, case13, case14, case15, case16, case17, case18, case19, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, case50, case51, case52, case53, case54, sample00, sample01, sample02 |
| ケース名 |
結果 |
実行時間 |
メモリ |
| case03 |
AC |
1155 ms |
74112 KiB |
| case04 |
AC |
1163 ms |
74080 KiB |
| case05 |
AC |
1167 ms |
74168 KiB |
| case06 |
AC |
1125 ms |
74020 KiB |
| case07 |
AC |
1125 ms |
73980 KiB |
| case08 |
AC |
1133 ms |
74080 KiB |
| case09 |
AC |
366 ms |
73984 KiB |
| case10 |
AC |
998 ms |
74032 KiB |
| case11 |
AC |
53 ms |
73896 KiB |
| case12 |
AC |
54 ms |
73840 KiB |
| case13 |
AC |
58 ms |
73884 KiB |
| case14 |
AC |
55 ms |
73672 KiB |
| case15 |
AC |
56 ms |
73740 KiB |
| case16 |
AC |
658 ms |
73900 KiB |
| case17 |
AC |
995 ms |
74124 KiB |
| case18 |
AC |
312 ms |
74060 KiB |
| case19 |
AC |
1130 ms |
74176 KiB |
| case20 |
AC |
132 ms |
73960 KiB |
| case21 |
AC |
67 ms |
74000 KiB |
| case22 |
AC |
173 ms |
74036 KiB |
| case23 |
AC |
58 ms |
73840 KiB |
| case24 |
AC |
178 ms |
73940 KiB |
| case25 |
AC |
244 ms |
74200 KiB |
| case26 |
AC |
1127 ms |
74072 KiB |
| case27 |
AC |
1134 ms |
74168 KiB |
| case28 |
AC |
595 ms |
74192 KiB |
| case29 |
AC |
751 ms |
74192 KiB |
| case30 |
AC |
190 ms |
73908 KiB |
| case31 |
AC |
579 ms |
73988 KiB |
| case32 |
AC |
210 ms |
73908 KiB |
| case33 |
AC |
961 ms |
74080 KiB |
| case34 |
AC |
1112 ms |
74212 KiB |
| case35 |
AC |
71 ms |
73924 KiB |
| case36 |
AC |
685 ms |
74064 KiB |
| case37 |
AC |
47 ms |
73864 KiB |
| case38 |
AC |
93 ms |
73984 KiB |
| case39 |
AC |
985 ms |
74072 KiB |
| case40 |
AC |
179 ms |
73924 KiB |
| case41 |
AC |
517 ms |
74120 KiB |
| case42 |
AC |
521 ms |
74180 KiB |
| case43 |
AC |
505 ms |
74076 KiB |
| case44 |
AC |
513 ms |
73984 KiB |
| case45 |
AC |
518 ms |
73940 KiB |
| case46 |
AC |
320 ms |
73936 KiB |
| case47 |
AC |
844 ms |
74064 KiB |
| case48 |
AC |
410 ms |
74020 KiB |
| case49 |
AC |
1171 ms |
74064 KiB |
| case50 |
AC |
612 ms |
74144 KiB |
| case51 |
AC |
634 ms |
74244 KiB |
| case52 |
AC |
613 ms |
74044 KiB |
| case53 |
AC |
66 ms |
73980 KiB |
| case54 |
AC |
77 ms |
73864 KiB |
| sample00 |
AC |
53 ms |
73756 KiB |
| sample01 |
AC |
57 ms |
73756 KiB |
| sample02 |
AC |
58 ms |
73896 KiB |