結果

問題 No.927 Second Permutation
ユーザー Shawn stayC
提出日時 2020-06-14 08:09:31
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 610 bytes
コンパイル時間 1,637 ms
コンパイル使用メモリ 176,052 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-06-26 22:30:30
合計ジャッジ時間 2,819 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 24 WA * 3
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define rep(i,n) for(int i=0; i<(n); i++)
#define rall(x) (x).rbegin(),(x).rend()
#define UNIQUE(v) v.erase(unique(v.begin(), v.end()), v.end());
using namespace std;
typedef long long ll;


int main(){
	string s; cin>>s;
	int n=s.size();
	vector<int> v;
	rep(i,n){
		v.push_back(stoi(s.substr(i,1)));
	}
	sort(rall(v));
	if(v.size()==2&&v[1]==0){cout << "-1" << endl; return 0;}
	bool flg=false;
	while(!flg&&n>1){
		n--;
		if(v[n]!=v[n-1]) flg=true;
	}
	if(flg){
		int t=v[n-1];
		v[n-1]=v[n];
		v[n]=t;
		for(auto x:v) cout << x;
		cout << endl;
	} else { cout << "-1" << endl;
	}
}
0