okcoder30-RMNTREV-TLE-Fix

Created Diff never expires
2 removals
66 lines
3 additions
67 lines
#include<bits/stdc++.h>
#include<bits/stdc++.h>
using namespace std;
using namespace std;


#define ff first
#define ff first
#define ss second
#define ss second
#define int long long
#define int long long
#define pb push_back
#define pb push_back
#define pii pair<int,int>
#define pii pair<int,int>
#define vi vector<int>
#define vi vector<int>
#define mii map<int,int>
#define mii map<int,int>
#define pqb priority_queue<int>
#define pqb priority_queue<int>
#define pqs priority_queue<int,vi,greater<int> >
#define pqs priority_queue<int,vi,greater<int> >
#define setbits(x) __builtin_popcountll(x)
#define setbits(x) __builtin_popcountll(x)
#define zrobits(x) __builtin_ctzll(x)
#define zrobits(x) __builtin_ctzll(x)
#define inf 1e18
#define inf 1e18
#define ps(x,y) fixed<<setprecision(y)<<x
#define ps(x,y) fixed<<setprecision(y)<<x
#define mk(arr,n,type) type *arr=new type[n];
#define mk(arr,n,type) type *arr=new type[n];
#define f(x) int x; cin>>x; while(x--)
#define f(x) int x; cin>>x; while(x--)
#define rep(i,a,b) for (long long i=a;i<b;i++)
#define rep(i,a,b) for (long long i=a;i<b;i++)
#define rof(i,a,b) for (int i=(a-1);i>=b;i--)
#define rof(i,a,b) for (int i=(a-1);i>=b;i--)
#define multiply(n) ((n*(n+1))/2)
#define multiply(n) ((n*(n+1))/2)
#define BLOCK 555
#define BLOCK 555
#define sz(x) (int)(x).size()
#define sz(x) (int)(x).size()
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());


void setIO(string name = "") {
void setIO(string name = "") {
ios_base::sync_with_stdio(0); cin.tie(0);
ios_base::sync_with_stdio(0); cin.tie(0);
if(sz(name)){
if(sz(name)){
freopen((name+".in").c_str(), "r", stdin);
freopen((name+".in").c_str(), "r", stdin);
freopen((name+".out").c_str(), "w", stdout);
freopen((name+".out").c_str(), "w", stdout);
}
}
}
}


void solve()
void solve()
{
{
int n,k;
int n,k;
cin>>n>>k;
cin>>n>>k;
k=min(k,n);
k=min(k,n);
string s;
string s;
cin>>s;
cin>>s;
vector<int>v;
vector<int>v;
string res="";
string res="";
int i=0;
int i=0;
while(i<k/2){
while(i<k/2){
res=s[i]+res;
res += s[i];
res=s[k-i-1]+res;
res += s[k-i-1];
i++;
i++;
}
}
reverse(res.begin(), res.end());
if (k % 2!=0)
if (k % 2!=0)
res=s[i]+res;
res=s[i]+res;
for (int i=k;i<n;i++)
for (int i=k;i<n;i++)
{
{
res+=s[i];
res+=s[i];
}
}
cout<<res<<endl;
cout<<res<<endl;
}
}
int32_t main()
int32_t main()
{
{
int t;
int t;
cin>>t;
cin>>t;
rep(i,0,t)
rep(i,0,t)
solve();
solve();
return 0;
return 0;
}
}