結果
問題 |
No.1630 Sorting Integers (Greater than K)
|
ユーザー |
|
提出日時 | 2021-07-15 22:51:37 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 921 bytes |
コンパイル時間 | 1,716 ms |
コンパイル使用メモリ | 171,224 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-15 22:02:47 |
合計ジャッジ時間 | 2,927 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 3 |
other | AC * 8 WA * 14 |
ソースコード
#include<bits/stdc++.h> using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) int main() { int N; string K; cin >> N >> K; vector<int> Cjust(9),Cbig; rep(i, 9)cin >> Cjust[i]; Cbig = Cjust; if (N < K.size()) { cout << -1 << endl; return 0; } else while(N>K.size())K = '0' + K; int bn=-1,jn=-1,lc=-1; rep(i,N){ for(int k=K[i]-'1'+1;k<9;k++){ if(Cjust[k]>0){ bn=i; lc=k; break; } } if(Cjust[K[i]-'1']>0){ jn=i; Cjust[K[i]-'1']--; } else break; } if(bn==-1) cout<<-1<<endl; else{ rep(t,bn-1){ cout<<K[t]; Cbig[K[t]-'1']--; } cout<<char(lc+'1'); Cbig[lc]--; rep(j, 9)rep(k, Cbig[j])cout<<char(j + '1'); cout<<endl; } }