提出 #68600542
ソースコード 拡げる
// ↘ ⬇ ⬇ ⬇ ⬇ ⬇ ↙ // ➡ @roadfromroi ⬅ // ↗ ⬆ ⬆ ⬆ ⬆ ⬆ ↖ /* ░░░░░░░█▐▓▓░████▄▄▄█▀▄▓▓▓▌█ ░░░░░▄█▌▀▄▓▓▄▄▄▄▀▀▀▄▓▓▓▓▓▌█ ░░░▄█▀▀▄▓█▓▓▓▓▓▓▓▓▓▓▓▓▀░▓▌█ ░░█▀▄▓▓▓███▓▓▓███▓▓▓▄░░▄▓▐█▌ ░█▌▓▓▓▀▀▓▓▓▓███▓▓▓▓▓▓▓▄▀▓▓▐█ ▐█▐██▐░▄▓▓▓▓▓▀▄░▀▓▓▓▓▓▓▓▓▓▌█▌ █▌███▓▓▓▓▓▓▓▓▐░░▄▓▓███▓▓▓▄▀▐█ █▐█▓▀░░▀▓▓▓▓▓▓▓▓▓██████▓▓▓▓▐█ ▌▓▄▌▀░▀░▐▀█▄▓▓██████████▓▓▓▌█▌ ▌▓▓▓▄▄▀▀▓▓▓▀▓▓▓▓▓▓▓▓█▓█▓█▓▓▌█▌ █▐▓▓▓▓▓▓▄▄▄▓▓▓▓▓▓█▓█▓█▓█▓▓▓▐█ йоу */ #include <iostream> #include "queue" #include "vector" #include "algorithm" #include "numeric" #include "climits" #include "iomanip" #include "bitset" #include "cmath" #include "map" #include "deque" #include "array" #include "set" #include "random" #ifndef __APPLE__ #include "bits/stdc++.h" #endif #define all(x) x.begin(), x.end() using namespace std; int N; void upd(int &a, int b) { a = max(a, b); } int calc(vector<int> a, int k) { int n = a.size(); vector<int> ind(N, -1); for (int i = 0; i < n; ++i) { a.push_back(a[i]); ind[a[i]] = i; //cout << a[i] << ' '; } //cout << '\n'; vector<vector<int>> dp(n, vector<int>(n)); for (int len = 1; len < n; ++len) { for (int i = 0; i + len < n; ++i) { //cout << i << ' ' << len << '\n'; int j = i + len; upd(dp[i][j], dp[i + 1][j]); upd(dp[i][j], dp[i][j - 1]); for (int l = a[i] % k; l < N; l += k) { int p = ind[l]; if (p != -1) { if (i < p and p <= j) { upd(dp[i][j], dp[i][p-1] + dp[p][j] + 1); } } } } } //cerr << res << '\n'; return dp[0][n-1]; } void solve() { int n, k; cin >> n >> k; vector<int> p(n * k); N = n * k; for (int i = 0; i < p.size(); ++i) { cin >> p[i]; p[i]--; } int res = 0; vector<int> seen(p.size()); for (int i = 0; i < p.size(); ++i) { if (seen[i] == 0) { vector<int> clc; int v = i; while (seen[v] == 0) { seen[v] = 1; clc.push_back(v); v = p[v]; } res += calc(clc, n); } } cout << res << '\n'; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t = 1; //cin >> t; while (t--) { solve(); } } /* 2 2 50 3 4 0 1 1 0 1 1 4 5 1 2 1 1 1 2 1 5 3 2 4 1 5 3 2 4 */
提出情報
提出日時 | |
---|---|
問題 | B - Sort Permutation |
ユーザ | SomethingNew |
言語 | C++ 20 (gcc 12.2) |
得点 | 800 |
コード長 | 3215 Byte |
結果 | AC |
実行時間 | 842 ms |
メモリ | 101008 KiB |
コンパイルエラー
Main.cpp: In function ‘void solve()’: Main.cpp:77:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 77 | for (int i = 0; i < p.size(); ++i) { | ~~^~~~~~~~~~ Main.cpp:83:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector<int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 83 | for (int i = 0; i < p.size(); ++i) { | ~~^~~~~~~~~~
ジャッジ結果
セット名 | Sample | All | ||||
---|---|---|---|---|---|---|
得点 / 配点 | 0 / 0 | 800 / 800 | ||||
結果 |
|
|
セット名 | テストケース |
---|---|
Sample | 01-sample-01.txt, 01-sample-02.txt, 01-sample-03.txt |
All | 01-sample-01.txt, 01-sample-02.txt, 01-sample-03.txt, 02-small-01.txt, 02-small-02.txt, 02-small-03.txt, 02-small-04.txt, 02-small-05.txt, 02-small-06.txt, 02-small-07.txt, 02-small-08.txt, 02-small-09.txt, 02-small-10.txt, 02-small-11.txt, 02-small-12.txt, 02-small-13.txt, 02-small-14.txt, 02-small-15.txt, 02-small-16.txt, 03-random-01.txt, 03-random-02.txt, 03-random-03.txt, 03-random-04.txt, 03-random-05.txt, 04-large-01.txt, 04-large-02.txt, 04-large-03.txt, 04-large-04.txt, 04-large-05.txt, 05-id-01.txt, 05-id-02.txt, 05-id-03.txt, 05-id-04.txt, 06-large-cycle-01.txt, 06-large-cycle-02.txt, 06-large-cycle-03.txt, 06-large-cycle-04.txt, 06-large-cycle-05.txt, 07-large-cycle-2-01.txt, 07-large-cycle-2-02.txt, 07-large-cycle-2-03.txt, 07-large-cycle-2-04.txt, 07-large-cycle-2-05.txt, 08-divide-01.txt, 08-divide-02.txt, 08-divide-03.txt, 08-divide-04.txt, 08-divide-05.txt, 09-large-ans-01.txt, 09-large-ans-02.txt, 09-large-ans-03.txt, 09-large-ans-04.txt, 09-large-ans-05.txt |
ケース名 | 結果 | 実行時間 | メモリ |
---|---|---|---|
01-sample-01.txt | AC | 1 ms | 3508 KiB |
01-sample-02.txt | AC | 1 ms | 3368 KiB |
01-sample-03.txt | AC | 1 ms | 3496 KiB |
02-small-01.txt | AC | 1 ms | 3568 KiB |
02-small-02.txt | AC | 1 ms | 3428 KiB |
02-small-03.txt | AC | 1 ms | 3508 KiB |
02-small-04.txt | AC | 1 ms | 3440 KiB |
02-small-05.txt | AC | 1 ms | 3628 KiB |
02-small-06.txt | AC | 1 ms | 3452 KiB |
02-small-07.txt | AC | 1 ms | 3504 KiB |
02-small-08.txt | AC | 1 ms | 3400 KiB |
02-small-09.txt | AC | 1 ms | 3508 KiB |
02-small-10.txt | AC | 1 ms | 3408 KiB |
02-small-11.txt | AC | 1 ms | 3432 KiB |
02-small-12.txt | AC | 1 ms | 3364 KiB |
02-small-13.txt | AC | 1 ms | 3500 KiB |
02-small-14.txt | AC | 1 ms | 3504 KiB |
02-small-15.txt | AC | 1 ms | 3564 KiB |
02-small-16.txt | AC | 1 ms | 3508 KiB |
03-random-01.txt | AC | 44 ms | 15672 KiB |
03-random-02.txt | AC | 134 ms | 21388 KiB |
03-random-03.txt | AC | 1 ms | 3452 KiB |
03-random-04.txt | AC | 2 ms | 3860 KiB |
03-random-05.txt | AC | 34 ms | 8024 KiB |
04-large-01.txt | AC | 384 ms | 34104 KiB |
04-large-02.txt | AC | 100 ms | 14152 KiB |
04-large-03.txt | AC | 243 ms | 20980 KiB |
04-large-04.txt | AC | 212 ms | 36392 KiB |
04-large-05.txt | AC | 261 ms | 20716 KiB |
05-id-01.txt | AC | 2 ms | 3620 KiB |
05-id-02.txt | AC | 2 ms | 3556 KiB |
05-id-03.txt | AC | 2 ms | 3488 KiB |
05-id-04.txt | AC | 2 ms | 3496 KiB |
06-large-cycle-01.txt | AC | 842 ms | 101008 KiB |
06-large-cycle-02.txt | AC | 615 ms | 82532 KiB |
06-large-cycle-03.txt | AC | 768 ms | 93884 KiB |
06-large-cycle-04.txt | AC | 288 ms | 50552 KiB |
06-large-cycle-05.txt | AC | 812 ms | 98360 KiB |
07-large-cycle-2-01.txt | AC | 237 ms | 21052 KiB |
07-large-cycle-2-02.txt | AC | 517 ms | 67964 KiB |
07-large-cycle-2-03.txt | AC | 711 ms | 85852 KiB |
07-large-cycle-2-04.txt | AC | 99 ms | 14892 KiB |
07-large-cycle-2-05.txt | AC | 622 ms | 71964 KiB |
08-divide-01.txt | AC | 2 ms | 3604 KiB |
08-divide-02.txt | AC | 5 ms | 3776 KiB |
08-divide-03.txt | AC | 2 ms | 3584 KiB |
08-divide-04.txt | AC | 2 ms | 3628 KiB |
08-divide-05.txt | AC | 2 ms | 3728 KiB |
09-large-ans-01.txt | AC | 326 ms | 42444 KiB |
09-large-ans-02.txt | AC | 69 ms | 10876 KiB |
09-large-ans-03.txt | AC | 405 ms | 57472 KiB |
09-large-ans-04.txt | AC | 151 ms | 25656 KiB |
09-large-ans-05.txt | AC | 66 ms | 14312 KiB |