/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 2ms 592.0 KiB
#3 Accepted 2ms 700.0 KiB
#4 Accepted 2ms 584.0 KiB
#5 Accepted 1ms 540.0 KiB
#6 Accepted 1ms 796.0 KiB
#7 Accepted 2ms 600.0 KiB
#8 Accepted 2ms 584.0 KiB
#9 Accepted 2ms 568.0 KiB
#10 Accepted 1ms 796.0 KiB
#11 Accepted 1ms 512.0 KiB
#12 Accepted 1ms 812.0 KiB
#13 Accepted 1ms 556.0 KiB
#14 Accepted 1ms 540.0 KiB
#15 Accepted 1ms 540.0 KiB

Code

#include<bits/stdc++.h>
using namespace std;
#define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define dbg(a,b,c,d) cerr<<a<<"  "<<b<<"  "<<c<<"  "<<d<<endl;
#define kill(a) {cout<<a<<endl;continue;}
#define KILL(a) {cout<<a<<endl;return 0;}
#define debug cerr<<"Error Found"<<endl;
#define mem(a,b) memset(a,b,sizeof(a))
#define lcm(a, b) (a/__gcd(a,b))*b
#define w(t) cin>>t;while(t--)
#define pi  2 * acos(0.0)
#define endl "\n"
int t, cs = 0;
const int mxn = 2e5 + 3, mod = 1e9 + 7;

int32_t main()
{
    fast;
   w(t)
   {
       int n, k;
       cin >> n >> k;
       string str[n];
       for(int i = 0; i < n; i++)cin >> str[i];
       string s = "";
       for(int i = 0; i < k + 1; i++)s += str[i];
       int sz = str[0].size();
       string ans = s;
       for(int i = k + 1; i < n; i++)
       {
           s.erase(s.begin(), s.begin() + sz);
           sz = str[i - k].size();
           s += str[i];
           //cout << s <<" "<< ans << endl;
           if(s.size() > ans.size())ans = s;
           else if(s.size() < ans.size())continue;
           else ans = max(ans, s);
       }
       cout << ans << endl;
   }
}

Information

Submit By
Type
Submission
Problem
P1083 Number concatenation
Language
C++17 (G++ 13.2.0)
Submit At
2024-11-12 17:54:14
Judged At
2024-11-12 17:54:14
Judged By
Score
100
Total Time
2ms
Peak Memory
812.0 KiB