Submission #2606056


Source Code Expand

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
#include<ctime>
typedef long long ll ;
#define rep(i, a, b) for (int i = a; i <= b; ++i)
using namespace std;


string s;
int k;
const int MAXN = 50000;
const int MAXK = 6;
string x[MAXK], sx;


int main() {
	cin >> s >> k;
	rep(i, 0, s.length() - 1) {
		rep(j, i, min(i + 6, (int)s.length() - 1)) {
			sx.clear();
			sx = s.substr(i, j - i + 1);
			bool tf = 1;
			rep(i, 1, k) {
				if (x[i] == sx) tf = 0;
			}
			if (tf && sx < x[k] || x[k].length() <= 0) {
				int kx = k;
				while (x[kx].empty() && kx > 1) --kx;
				if (!x[kx].empty() && kx < k) ++kx;
				x[kx] = sx;
				sort(x + 1, x + 1 + kx);
			}
		}
	}
	cout << x[k] << "\n";
	return 0;
} 

Submission Info

Submission Time
Task C - K-th Substring
User zmm
Language C++14 (GCC 5.4.1)
Score 300
Code Size 802 Byte
Status AC
Exec Time 6 ms
Memory 256 KB

Judge Result

Set Name Sample Subtask All
Score / Max Score 0 / 0 200 / 200 100 / 100
Status
AC × 3
AC × 11
AC × 19
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 6 ms 256 KB
2_014.txt AC 4 ms 256 KB
2_015.txt AC 4 ms 256 KB
2_016.txt AC 4 ms 256 KB
2_017.txt AC 4 ms 256 KB
2_018.txt AC 4 ms 256 KB