Submission #1566162
Source Code Expand
#include <iostream> #include <iomanip> #include <vector> #include <algorithm> #include <cstring> #include <map> #include <queue> #include <cmath> #include <complex> // complex<double> a(1.2 , 2.3);// real(): 1.2, imag()2.3 using namespace std; #define MOD 1000000007 #define ll long long #define ld long double #define FOR(i,a,b) for(ll i=(ll)a;i<(ll)b;i++) #define rep(i,n) FOR(i,0,n) #define pb push_back #define mp make_pair #define all(a) a.begin(),a.end() #define rall(a) a.rbegin(),a.rend() #define rmsame(a) sort(all(a)),a.erase(unique(all(a)), a.end()) bool isin(vector<ll> a, ll ai){ if(a.size()==0) return false; rep(i,a.size()) if(ai==a[i]) return true; return false; } ll findchar(vector<char> sin,char scp,ll n){ for(ll i = n;i<sin.size();i++){ if(sin[i]==scp) return i; } return -1; } int main(){ cin.tie(0); ios::sync_with_stdio(false); ll N,K; string S; cin >> N >> K >> S; vector<char> sin;//入力したやつ vector<char> scp;//コピーしたやつ vector<ll> his; rep(i,N) {sin.pb(S[i]);scp.pb(S[i]);} sort(all(scp)); rep(i,N){ if(sin[i]==scp[i]) continue; ll check = findchar(sin,scp[i],i); if(check<0 || check>=sin.size()) continue; if((!isin(his,check)) && (isin(his,i))){//今やってるのが変更したとこ K--; } else if(isin(his, check) && (!isin(his,i))){//変更先が既に変更した部分 K--; } else if((!isin(his,check)) && (!isin(his,i))){//さっき変更してなかった部分 K-=2; } if(K>=0) { his.pb(i);his.pb(check); swap(sin[i], sin[check]); //cout << "swap: " << sin[i] << " and "<< sin[check] << " " << K << endl; } else break; } if(K<0){ sort(all(his)); rmsame(his); //rep(i,his.size()) cout << his[i] << " "; vector<char> cp; rep(i,his.size()){ cp.pb(sin[his[i]]); } sort(all(cp)); rep(i,his.size()){ sin[his[i]]=cp[i]; } } if(K==1) while(1){} rep(i,N) cout << sin[i] ; cout << endl;; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 辞書式順序ふたたび |
User | ukohank517 |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 2163 Byte |
Status | WA |
Exec Time | 2103 ms |
Memory | 256 KB |
Judge Result
Set Name | All | ||||||
---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 100 | ||||||
Status |
|
Set Name | Test Cases |
---|---|
All | hand_1_0.txt, hand_1_1.txt, hand_1_2.txt, hand_1_3.txt, hand_1_4.txt, hand_1_5.txt, hand_1_6.txt, hand_1_7.txt, hand_1_8.txt, hand_2_0.txt, hand_2_1.txt, hand_2_10.txt, hand_2_2.txt, hand_2_3.txt, hand_2_4.txt, hand_2_5.txt, hand_2_6.txt, hand_2_7.txt, hand_2_8.txt, hand_2_9.txt, hand_3_2.txt, hand_3_3.txt, hand_3_4.txt, hand_3_5.txt, hand_3_6.txt, hand_4_2.txt, hand_4_3.txt, hand_4_4.txt, hand_4_5.txt, hand_4_6.txt, random_1.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_2.txt, random_3.txt, random_4.txt, random_5.txt, random_6.txt, random_7.txt, random_8.txt, random_9.txt, sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, small_1.txt, small_2.txt, small_3.txt, small_4.txt, small_5.txt, small_6.txt, small_7.txt, small_8.txt, small_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
hand_1_0.txt | AC | 1 ms | 256 KB |
hand_1_1.txt | AC | 1 ms | 256 KB |
hand_1_2.txt | WA | 1 ms | 256 KB |
hand_1_3.txt | WA | 1 ms | 256 KB |
hand_1_4.txt | AC | 1 ms | 256 KB |
hand_1_5.txt | WA | 1 ms | 256 KB |
hand_1_6.txt | AC | 1 ms | 256 KB |
hand_1_7.txt | AC | 1 ms | 256 KB |
hand_1_8.txt | TLE | 2103 ms | 256 KB |
hand_2_0.txt | AC | 1 ms | 256 KB |
hand_2_1.txt | AC | 1 ms | 256 KB |
hand_2_10.txt | AC | 1 ms | 256 KB |
hand_2_2.txt | WA | 1 ms | 256 KB |
hand_2_3.txt | WA | 1 ms | 256 KB |
hand_2_4.txt | AC | 1 ms | 256 KB |
hand_2_5.txt | AC | 1 ms | 256 KB |
hand_2_6.txt | WA | 1 ms | 256 KB |
hand_2_7.txt | WA | 1 ms | 256 KB |
hand_2_8.txt | AC | 1 ms | 256 KB |
hand_2_9.txt | TLE | 2103 ms | 256 KB |
hand_3_2.txt | WA | 1 ms | 256 KB |
hand_3_3.txt | WA | 1 ms | 256 KB |
hand_3_4.txt | WA | 1 ms | 256 KB |
hand_3_5.txt | WA | 1 ms | 256 KB |
hand_3_6.txt | WA | 1 ms | 256 KB |
hand_4_2.txt | WA | 1 ms | 256 KB |
hand_4_3.txt | WA | 1 ms | 256 KB |
hand_4_4.txt | WA | 1 ms | 256 KB |
hand_4_5.txt | WA | 1 ms | 256 KB |
hand_4_6.txt | WA | 1 ms | 256 KB |
random_1.txt | WA | 1 ms | 256 KB |
random_10.txt | WA | 1 ms | 256 KB |
random_11.txt | WA | 1 ms | 256 KB |
random_12.txt | WA | 1 ms | 256 KB |
random_13.txt | WA | 1 ms | 256 KB |
random_14.txt | WA | 1 ms | 256 KB |
random_15.txt | WA | 1 ms | 256 KB |
random_2.txt | AC | 1 ms | 256 KB |
random_3.txt | AC | 1 ms | 256 KB |
random_4.txt | WA | 1 ms | 256 KB |
random_5.txt | AC | 1 ms | 256 KB |
random_6.txt | WA | 1 ms | 256 KB |
random_7.txt | AC | 1 ms | 256 KB |
random_8.txt | AC | 1 ms | 256 KB |
random_9.txt | WA | 1 ms | 256 KB |
sample_1.txt | AC | 1 ms | 256 KB |
sample_2.txt | AC | 1 ms | 256 KB |
sample_3.txt | TLE | 2103 ms | 256 KB |
sample_4.txt | AC | 1 ms | 256 KB |
small_1.txt | AC | 1 ms | 256 KB |
small_2.txt | TLE | 2103 ms | 256 KB |
small_3.txt | AC | 1 ms | 256 KB |
small_4.txt | AC | 1 ms | 256 KB |
small_5.txt | AC | 1 ms | 256 KB |
small_6.txt | AC | 1 ms | 256 KB |
small_7.txt | AC | 1 ms | 256 KB |
small_8.txt | AC | 1 ms | 256 KB |
small_9.txt | TLE | 2103 ms | 256 KB |