結果
問題 |
No.366 ロボットソート
|
ユーザー |
![]() |
提出日時 | 2016-05-09 20:00:33 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 869 bytes |
コンパイル時間 | 1,407 ms |
コンパイル使用メモリ | 158,948 KB |
実行使用メモリ | 10,496 KB |
最終ジャッジ日時 | 2024-10-05 13:09:56 |
合計ジャッジ時間 | 8,089 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 5 WA * 14 OLE * 4 |
ソースコード
#include "bits/stdc++.h" using namespace std; void swap(int *x,int *y){ int tmp = *x; *x=*y; *y=tmp; } int main(){ int N,K,count=0,OK=0,OK2=0,FLAG=0; cin >> N >> K; int data[N]; for(auto&& x: data)cin >> x; while(1){ FLAG=1; if(K>=N) break; int j=0; for(int i=j;i<N;++i){ for(;j<N-K;++j){ OK=0; if(data[j]>data[j+K]){ FLAG=0; break; } OK=1; } if(!OK){ swap(&data[j],&data[j+K]); ++count; }else break; for(auto&& x: data)cout << x << " "; cout <<endl; } for(int i=0;i<N-1;++i){ OK2=0; if(data[i]>data[i+1])break; OK2=1; } if(OK2||FLAG)break; } for(int i=0;i<N-1;++i){ OK=0; if(data[i]>data[i+1])break; OK=1; } if(OK)cout << count <<endl; else cout << -1 <<endl; return 0; }