結果

問題 No.1020 Reverse
ユーザー Sota
提出日時 2024-02-27 12:45:40
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
TLE  
実行時間 -
コード長 1,115 bytes
コンパイル時間 1,212 ms
コンパイル使用メモリ 102,400 KB
実行使用メモリ 13,640 KB
最終ジャッジ日時 2024-09-29 12:04:57
合計ジャッジ時間 5,179 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 4 TLE * 2 -- * 9
権限があれば一括ダウンロードができます

ソースコード

diff #

#define _USE_MATH_DEFINES

#include <iostream>		//cin, cout
#include <vector>		//vector
#include <algorithm>	//sort,min,max,count
#include <string>		//string,getline, to_string
#include <cstdlib>		//abs(int)
#include <utility>		//swap, pair
#include <tuple>        //tuple
#include <deque>		//deque
#include <climits>		//INT_MAX
#include <bitset>		//bitset
#include <cmath>		//sqrt, ceil. M_PI, pow, sin
#include <ios>			//fixed
#include <iomanip>		//setprecision
#include <sstream>		//stringstream
#include <numeric>		//gcd, assumlate
#include <random>		//randam_device
#include <limits>		//numeric_limits
#include <functional>

using namespace std;
constexpr long long int D_MOD = 1000000007;

int main() {

	int N, K;
	string S;

	cin >> N >> K >> S;

	string temp1, temp2, temp3;

	for (int i = 0; i + K <= N; i++) {
		if (i != 0) {
			temp1 = S.substr(0, i);
		}
		else {
			temp1 = "";
		}

		temp2 = S.substr(i, K);
		
		if (i + K < N) {
			temp3 = S.substr(i + K);
		}
		else {
			temp3 = "";
		}
		
		reverse(temp2.begin(), temp2.end());

		S = temp1 + temp2 + temp3;
	}

	cout << S << endl;

	return 0;

}
0