結果
問題 | No.366 ロボットソート |
ユーザー |
![]() |
提出日時 | 2016-08-31 22:56:54 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 655 bytes |
コンパイル時間 | 2,071 ms |
コンパイル使用メモリ | 171,332 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-29 18:30:53 |
合計ジャッジ時間 | 2,634 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
#include <bits/stdc++.h> #define REP(i,n) for(int i = 0; i < (int)(n); ++i) using namespace std; int main(){ int N, K, t; cin >> N >> K; vector<int> A, B; REP(i,N){ cin >> t; A.push_back(t); B.push_back(t); } sort(B.begin(),B.end()); int c = 0; int flag = 1; while(flag){ flag = 0; for(int j = N-1; j >= K; j--){ if(A[j] < A[j-K]){ swap(A[j],A[j-K]); c++; flag = 1; } } } bool b = true; REP(i,N){ if(A[i] != B[i]) b = false; } cout << (b?c:-1) << endl; return 0; }