Submission #7720127
Source Code Expand
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>
using namespace __gnu_pbds;
#if !ONLINE_JUDGE
#define debug
#endif
using namespace std;
/******* All Required define Pre-Processors and typedef Constants *******/
#define mem(a, b) memset(a, (b), sizeof(a))
#define repd(i,k) for(int i=k;i>=0;i--)
#define rep(i,k) for(int i=0;i<k;i++)
#define repn(i,k1,k2) for(ll i=k1;i<k2;i++)
#define sz(x) (ll)(x).size()
#define ff first
#define ss second
#define all(cont) cont.begin(), cont.end()
#define rall(cont) cont.end(), cont.begin()
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define INF (int)1e9
#define EPS 1e-9
#define PI 3.1415926535897932384626433832795
#define MOD 1000000007
#define ee6 (ll)1000001
#define ee5 (ll)100001
#define trav(a, v) for(auto& a : v)
#define tt ll t;cin>>t; while(t--)
typedef long long int ll;
typedef pair<ll, ll> pr;
typedef vector<ll> vi;
typedef vector<string> vs;
typedef vector<pr> vpr;
typedef vector<vpr>vvpr;
typedef vector<vi> vvi;
//*X.find_by_order(2) element at index=2
//X.order_of_key(1) how many elements strictly less than 1
template <typename T>
using ordered_set = tree<T, null_type, less<T>, rb_tree_tag,
tree_order_statistics_node_update>;
#ifdef debug
#define dbg(...) { cerr<<"[ "; dump(#__VA_ARGS__, __VA_ARGS__);}
#undef endl
template <typename Arg1,typename Arg2>
ostream& operator << (ostream& out, const pair<Arg1,Arg2> &x) {
return out<<"("<<x.ff<<","<<x.ss<<")";
}
template <typename Arg1>
ostream& operator << (ostream& out, const vector<Arg1> &a) {
out<<"[";for(const auto &x:a)out<<x<<",";return out<<"]";
}
template <typename Arg1>
ostream& operator << (ostream& out, const set<Arg1> &a) {
out<<"[";for(const auto &x:a)out<<x<<",";return out<<"]";
}
template <typename Arg1,typename Arg2>
ostream& operator << (ostream& out, const map<Arg1,Arg2> &a) {
out<<"[";for(const auto &x:a)out<<x<<",";return out<<"]";
}
template <typename Arg1,typename Arg2>
ostream& operator << (ostream& out, const unordered_map<Arg1,Arg2> &a) {
out<<"[";for(const auto &x:a)out<<x<<",";return out<<"]";
}
template <typename Arg1>
void dump(const string name, Arg1&& arg1){
cerr << name << " : " << arg1 << " ] " << endl;
}
template <typename Arg1, typename... Args>
void dump(const string names, Arg1&& arg1, Args&&... args){
const string name = names.substr(0,names.find(','));
cerr<<name<<" : "<<arg1<<" | ";
dump(names.substr(1+(int)name.size()), args...);
}
#else
#define dbg(args...)
#endif
ll powmod(ll x, ll y)
{
ll res = 1;
x = x % MOD;
while (y > 0)
{
if (y & 1)
res = (res*x) % MOD;
y = y>>1; // y = y/2
x = (x*x) % MOD;
}
return res;
}
int main()
{
#if !ONLINE_JUDGE
//freopen("in.txt","r",stdin);
#endif
ios_base::sync_with_stdio(false);
cin.tie(NULL);
set<string>st;
string s;cin>>s;int k;cin>>k;
int n=s.size();
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
string t=s.substr(i,j-i+1);
st.insert(t);
if(st.size()>k){
string x=*--st.end();
st.erase(--st.end());
if(t==x)break;
}
}
}
cout<<*--st.end();
}
Submission Info
Submission Time |
|
Task |
C - K-th Substring |
User |
pushkar12 |
Language |
C++14 (GCC 5.4.1) |
Score |
300 |
Code Size |
3524 Byte |
Status |
AC |
Exec Time |
4 ms |
Memory |
256 KB |
Judge Result
Set Name |
Sample |
Subtask |
All |
Score / Max Score |
0 / 0 |
200 / 200 |
100 / 100 |
Status |
|
|
|
Set Name |
Test Cases |
Sample |
0_000.txt, 0_001.txt, 0_002.txt |
Subtask |
0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt |
All |
0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 2_011.txt, 2_012.txt, 2_013.txt, 2_014.txt, 2_015.txt, 2_016.txt, 2_017.txt, 2_018.txt |
Case Name |
Status |
Exec Time |
Memory |
0_000.txt |
AC |
1 ms |
256 KB |
0_001.txt |
AC |
1 ms |
256 KB |
0_002.txt |
AC |
1 ms |
256 KB |
1_003.txt |
AC |
1 ms |
256 KB |
1_004.txt |
AC |
1 ms |
256 KB |
1_005.txt |
AC |
1 ms |
256 KB |
1_006.txt |
AC |
1 ms |
256 KB |
1_007.txt |
AC |
1 ms |
256 KB |
1_008.txt |
AC |
1 ms |
256 KB |
1_009.txt |
AC |
1 ms |
256 KB |
1_010.txt |
AC |
1 ms |
256 KB |
2_011.txt |
AC |
4 ms |
256 KB |
2_012.txt |
AC |
4 ms |
256 KB |
2_013.txt |
AC |
2 ms |
256 KB |
2_014.txt |
AC |
2 ms |
256 KB |
2_015.txt |
AC |
2 ms |
256 KB |
2_016.txt |
AC |
2 ms |
256 KB |
2_017.txt |
AC |
2 ms |
256 KB |
2_018.txt |
AC |
2 ms |
256 KB |