結果
| 問題 |
No.397 NO MORE KADOMATSU
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-07-16 00:02:23 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
MLE
|
| 実行時間 | - |
| コード長 | 1,104 bytes |
| コンパイル時間 | 2,104 ms |
| コンパイル使用メモリ | 166,988 KB |
| 実行使用メモリ | 809,020 KB |
| 平均クエリ数 | 0.28 |
| 最終ジャッジ日時 | 2024-07-16 10:41:07 |
| 合計ジャッジ時間 | 6,516 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 3 MLE * 1 -- * 14 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
int n,a,d;
cin>>n;
vector<int> v;
for(int i=0; i<n; ++i){
cin>>a;
v.push_back(a);
}
int f;
int c;
c=0;
vector<pair<int,int>> vp;
while(1){
f=0;
for(int i=1; i<n-1; ++i){
int x,y,z;
x=v[i-1];
y=v[i];
z=v[i+1];
if(x<y && y>z){
v.erase(v.begin()+i);
v.insert(v.begin()+i,v[n-2]);
v.erase(v.begin()+n-1);
v.insert(v.begin()+n-1,y);
f=1;
c++;
pair<int,int> p;
p=make_pair(i,n-1);
vp.push_back(p);
break;
}
if(x>y && y<z){
v.erase(v.begin()+i);
v.insert(v.begin()+i,v[0]);
v.erase(v.begin()+0);
v.insert(v.begin()+0,y);
f=1;
c++;
pair<int,int> p;
p=make_pair(0,i);
vp.push_back(p);
break;
}
}
if(f==0){
break;
}
}
cout<<c<<endl;
pair<int,int> p;
for(int i=0; i<vp.size(); ++i){
p=vp[i];
cout<<p.first<<" "<<p.second<<endl;
}
cin>>d;
return 0;
}