/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 532.0 KiB
#3 Accepted 1ms 324.0 KiB
#4 Accepted 1ms 404.0 KiB
#5 Accepted 404ms 928.0 KiB
#6 Accepted 176ms 884.0 KiB
#7 Accepted 210ms 884.0 KiB
#8 Accepted 297ms 928.0 KiB
#9 Accepted 198ms 884.0 KiB
#10 Accepted 204ms 884.0 KiB
#11 Accepted 1ms 532.0 KiB
#12 Accepted 1ms 532.0 KiB
#13 Accepted 1ms 532.0 KiB
#14 Accepted 1ms 516.0 KiB
#15 Accepted 1ms 488.0 KiB
#16 Accepted 1ms 532.0 KiB
#17 Accepted 1ms 524.0 KiB
#18 Accepted 1ms 532.0 KiB
#19 Accepted 1ms 536.0 KiB
#20 Accepted 1ms 532.0 KiB
#21 Accepted 4ms 320.0 KiB
#22 Accepted 4ms 532.0 KiB
#23 Accepted 4ms 532.0 KiB
#24 Accepted 4ms 532.0 KiB
#25 Accepted 4ms 532.0 KiB
#26 Accepted 4ms 316.0 KiB
#27 Accepted 4ms 580.0 KiB
#28 Accepted 3ms 432.0 KiB
#29 Accepted 3ms 320.0 KiB
#30 Accepted 4ms 532.0 KiB
#31 Accepted 4ms 532.0 KiB
#32 Accepted 4ms 324.0 KiB
#33 Accepted 4ms 532.0 KiB
#34 Accepted 4ms 532.0 KiB
#35 Accepted 4ms 532.0 KiB
#36 Accepted 4ms 532.0 KiB
#37 Accepted 4ms 532.0 KiB
#38 Accepted 4ms 532.0 KiB
#39 Accepted 4ms 532.0 KiB
#40 Accepted 4ms 532.0 KiB
#41 Accepted 4ms 532.0 KiB
#42 Accepted 4ms 532.0 KiB
#43 Accepted 4ms 340.0 KiB
#44 Accepted 4ms 532.0 KiB
#45 Accepted 4ms 536.0 KiB
#46 Accepted 4ms 560.0 KiB
#47 Accepted 4ms 380.0 KiB
#48 Accepted 4ms 532.0 KiB
#49 Accepted 4ms 532.0 KiB
#50 Accepted 4ms 560.0 KiB
#51 Accepted 4ms 532.0 KiB
#52 Accepted 4ms 532.0 KiB
#53 Accepted 4ms 532.0 KiB
#54 Accepted 4ms 532.0 KiB
#55 Accepted 4ms 532.0 KiB
#56 Accepted 4ms 532.0 KiB
#57 Accepted 4ms 532.0 KiB
#58 Accepted 4ms 532.0 KiB
#59 Accepted 4ms 532.0 KiB
#60 Accepted 4ms 532.0 KiB
#61 Accepted 4ms 532.0 KiB
#62 Accepted 4ms 532.0 KiB
#63 Accepted 4ms 532.0 KiB
#64 Accepted 4ms 532.0 KiB
#65 Accepted 4ms 532.0 KiB
#66 Accepted 4ms 328.0 KiB
#67 Accepted 4ms 532.0 KiB
#68 Accepted 4ms 532.0 KiB
#69 Accepted 4ms 532.0 KiB
#70 Accepted 4ms 532.0 KiB
#71 Accepted 4ms 532.0 KiB
#72 Accepted 4ms 532.0 KiB
#73 Accepted 4ms 532.0 KiB
#74 Accepted 4ms 444.0 KiB
#75 Accepted 4ms 416.0 KiB
#76 Accepted 4ms 532.0 KiB
#77 Accepted 4ms 532.0 KiB
#78 Accepted 4ms 324.0 KiB
#79 Accepted 4ms 532.0 KiB
#80 Accepted 4ms 532.0 KiB
#81 Accepted 4ms 320.0 KiB
#82 Accepted 4ms 320.0 KiB
#83 Accepted 4ms 448.0 KiB
#84 Accepted 4ms 496.0 KiB
#85 Accepted 4ms 532.0 KiB
#86 Accepted 4ms 532.0 KiB
#87 Accepted 4ms 532.0 KiB
#88 Accepted 4ms 532.0 KiB
#89 Accepted 4ms 324.0 KiB
#90 Accepted 4ms 532.0 KiB
#91 Accepted 4ms 532.0 KiB
#92 Accepted 4ms 532.0 KiB
#93 Accepted 4ms 412.0 KiB
#94 Accepted 4ms 348.0 KiB
#95 Accepted 4ms 480.0 KiB
#96 Accepted 4ms 340.0 KiB
#97 Accepted 4ms 532.0 KiB
#98 Accepted 4ms 532.0 KiB
#99 Accepted 4ms 324.0 KiB
#100 Accepted 4ms 448.0 KiB

Code

// IN THE NAME OF ALLAH
// Coded by Ahsanul Imam
#include<bits/stdc++.h>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>order_set;
// find_by_order() - Returns an iterator to the k-th largest element(counting from zero)
// order_of_key() - The number of items in a set that are strictly smaller than our item
typedef long long int ll;
const int  MOD = 1000000007;
#define pb push_back
#define vi vector<int>
#define vl vector<ll>
#define f first
#define s second
#define nl '\n';
#define bit(a) __builtin_popcountll(a)
#define cnt_sese_sunno(x) __builtin_ctz(x)
#define cnt_age_sunno(x) __builtin_clz(x)
#define cnt_sese_ek(x) __builtin_ctz(~x)
#define cnt_age_ek(x) __builtin_clz(~x)
#define parity(x) __builtin_parity(x)
#define parityLL(x) __builtin_parityll(x)
#define w(x) while (x--)
#define test int t; cin>>t; for (int i = 1; i <= t; i++)
#define loop for (int i = 0; i < n; i++)
#define print(v) for(auto it:v)cout<<it<<' ';cout<<endl;
#define srt(v) sort(v.begin(), v.end());
#define rsrt(v) sort(v.rbegin(), v.rend());
#define gcd(a, b) __gcd<long long int>(a, b)
#define lcm(a, b) (a * b) / gcd(a, b)
#define pi 2*acos(0.0)
#define pr pair<int, int>
#define Ahsanul (ios_base::sync_with_stdio(false), cin.tie(NULL))
vector<pr>knight_posible{{2, 1}, {2, -1}, {1, 2}, {1, -2}, {-1, 2}, {-1, -2}, {-2, 1}, {-2, -1}};//knight moves
vector<pr>posible{{0,-1},{0,1},{-1,0},{1,0},{-1,-1},{-1,1},{1,-1},{1,1}};//eight direction moves;
int power(int a,int b){int res=1;while (b){if (b&1){res=(res*1ll*a)%MOD;}a=(a*1ll*a)%MOD;b>>=1;}return res;}
ll inversemod(ll base) { return power(base,MOD-2); }
void solve()
{
    int n,k; cin>>n>>k;
    string s; cin>>s;
    int j=0;
    for(int i=0;i<=n-k;i++)
    {
        char mini=s[i];int idx=i;
        if(i==n-k)
        {
            sort(s.begin()+i,s.begin()+i+k);
            break;
        }
        for(int j=i;j<i+k;j++)
        {
            if(s[j]<mini)
            {
                mini=s[j];
                idx=j;
            }
        }
        //cout<<i<<' '<<mini<<' '<<idx<<' '<<j<<nl;
        if(mini==s[i])
        {
            continue;
        }
        else
        {
            sort(s.begin()+i,s.begin()+i+k);
            i+=k-1;
        }
    }
    cout<<s<<nl;
}
int main()
{
    Ahsanul;
    //test
    {
        //cout<<"Case "<<i<<": ";
        solve();
    }
}

Information

Submit By
Type
Submission
Problem
P1230 Lexicographically Smallest Rearrangement
Language
C++17 (G++ 13.2.0)
Submit At
2025-09-05 14:29:43
Judged At
2025-09-05 14:29:43
Judged By
Score
100
Total Time
404ms
Peak Memory
928.0 KiB