結果
問題 | No.927 Second Permutation |
ユーザー |
![]() |
提出日時 | 2019-11-22 22:17:05 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 14 ms / 2,000 ms |
コード長 | 2,706 bytes |
コンパイル時間 | 1,509 ms |
コンパイル使用メモリ | 165,000 KB |
実行使用メモリ | 20,224 KB |
最終ジャッジ日時 | 2024-10-11 03:58:11 |
合計ジャッジ時間 | 2,805 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
#include "bits/stdc++.h"#define YES "YES"#define NO "NO"#define Yes "Yes"#define No "No"#define YESNO OUT(three(solve(),YES,NO))#define YesNo OUT(three(solve(),Yes,No))#define ECHO OUT(solve())#define three(A,B,C) ((A)?(B):(C))#define FOR(i,a,b) for(LL i=(a);i< (LL)(b);i++)#define EFOR(i,a,b) for(LL i=(a);i<=(LL)(b);i++)#define RFOR(i,a,b) for(LL i=(b-1);i>=(LL)(a);i--)#define REP(i,b) FOR(i,zero,b)#define rep REP#define EREP(i,b) EFOR(i,zero,b)#define RREP(i,b) RFOR(i,zero,b)#define ALL(c) c.begin(),c.end()#define UNIQUE(c) sort(ALL(c));c.erase(unique(ALL(c)),c.end())#define MAX(c) (*max_element(ALL(c)))#define MIN(c) (*min_element(ALL(c)))#define MP make_pair#define FI first#define SE second#define SI(x) (LL(x.size()))#define PB push_back#define DEBUG(a) OUT(a)#define DEBUG2(a,b) OUT2(a,b)#define cat cout << __LINE__ << endl#define OUT(a) cout << (a) << endl#define OUT2(a,b) cout << (a) <<" "<<(b) << endl#define zero 0LL#define all ALL#define pb emplace_back#define eb pb#define int long longusing namespace std;template<typename T> inline void maximize(T &a, T b) { a = max(a, b); }template<typename T> inline void minimize(T &a, T b) { a = min(a, b); }template<typename T> inline bool middle(T a, T b, T c) { return b <= a && a <= c; }template<class T> inline bool MX(T &l, const T &r) { return l < r ? l = r, 1 : 0; }template<class T> inline bool MN(T &l, const T &r) { return l > r ? l = r, 1 : 0; }typedef int LL;typedef double ld;typedef int ut;typedef vector<ut> VI;typedef vector<VI> VII;typedef pair<ut, ut> pr;typedef pair<ut, pr> ppr;typedef vector<pr> Vpr;typedef vector<ppr> Vppr;typedef tuple<int, int, int, int> tapu;typedef vector<tapu> Vtapu;typedef priority_queue<tapu, Vtapu, greater<tapu> > PQ;inline void outputVI(VI x) { REP(i, SI(x)) { cout << three(i, " ", "") << x[i]; }OUT(""); }const int SIZE1 = 3e5 + 1000;const int SIZE2 = 5010;const int SIZE3 = 430;const int SIZE = SIZE1;const int MAPSIZE = 40;const LL p = 7 + 1e9;const LL INF = 1LL << 60;const long double EPS = 1e-7;const LL NONE=-2;typedef pair<ld, ut> pld;ut N, M, K, L, Q, D, H, W,R;VI edges[SIZE];LL vals[SIZE], answer = zero;int A[SIZE],B[SIZE];string s[SIZE];LL solve(){string s;cin >> s;sort(ALL(s),greater<char>());if(s[0]==s.back()) return -1;REP(i,s.size()){if(s[i]!=s[i+1] and s[i+1]==s.back()){swap(s[i],s[i+1]);break;}}if(s[0]=='0') return -1;cout <<s << endl;return NONE;}signed main() {ios_base::sync_with_stdio(false);cout << fixed << setprecision(10);string s;LL ans=solve();if(ans==NONE){}else{cout << ans << endl;}//cin >> N;return 0;}