結果

問題 No.1020 Reverse
ユーザー 3_3_nk3_3_nk
提出日時 2020-04-10 21:42:46
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 7 ms / 2,000 ms
コード長 873 bytes
コンパイル時間 1,725 ms
コンパイル使用メモリ 167,244 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-15 19:44:25
合計ジャッジ時間 2,530 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
#define INF (1LL<<60)
#define MOD7 1000000007LL
#define PREP(i, s, x) for(ll i = (s); i < (x); i ++)
#define MREP(i, s, x) for(ll i = (s); i >= (x); i --)
#define REP(i, x) PREP(i, 0, x)
typedef long long ll;
using namespace std;
typedef pair<ll, ll> P;
template<typename T> inline bool chmax(T &a, T b){if(a<b){a=b;return 1;}return 0;}
template<typename T> inline bool chmin(T &a, T b){if(a>b){a=b;return 1;}return 0;}
ll llpow(ll a, ll n){ll res=1;REP(_,n){res*=a;}return res;}

int main(){
    ll n, k;
    string s;
    cin >> n >> k >> s;
    if(n == k){
        reverse(s.begin(), s.end());
        cout << s << endl;
        return 0;
    }
    string ss = s.substr(k - 1, n - k + 1);
    string tt = s.substr(0, k - 1);
    if((n - k + 1) % 2 == 1){
        reverse(tt.begin(), tt.end());
    }
    cout << ss << tt << endl;
    return 0;
}
0