結果
問題 |
No.366 ロボットソート
|
ユーザー |
|
提出日時 | 2019-01-18 01:19:27 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 5 ms / 2,000 ms |
コード長 | 691 bytes |
コンパイル時間 | 1,752 ms |
コンパイル使用メモリ | 173,848 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-01 10:13:44 |
合計ジャッジ時間 | 2,687 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
#define _USE_MATH_DEFINES #include <bits/stdc++.h> using namespace std; signed main() { ios::sync_with_stdio(false); cin.tie(0); int n, k; cin >> n >> k; vector<vector<int>> a(k); vector<int> b(n); for(int i = 0; i < n; i++) { cin >> b[i]; a[i % k].push_back(b[i]); } sort(b.begin(), b.end()); int cnt = 0; for(int i = 0; i < k; i++) { int siz = (int)a[i].size(); for(int j = 0; j < siz - 1; j++) { for(int l = siz - 1; l > j; l--) { if(a[i][l - 1] > a[i][l]) { swap(a[i][l - 1], a[i][l]); cnt++; } } } } for(int i = 0; i < n; i++) { if(b[i] != a[i % k][i / k]) { cout << -1 << endl; return 0; } } cout << cnt << endl; return 0; }