Submission #3458153
Source Code Expand
#include <iostream> #include <fstream> #include <vector> #include <queue> #include <string> #include <limits> #include <algorithm> #include <map> #include <sstream> using ll = long long; using ull = unsigned long long; using uint = unsigned int; static ull tenq = 1000000000; static ull mod = tenq + 7; using namespace std; int main() { ll K; string s; cin >> s; cin >> K; string invalid = "{}"; vector<string> xs; for (auto i = 0; i < K; i++) xs.push_back(invalid); make_heap(xs.begin(), xs.end(), greater<string>()); for (auto i = 0; i < s.size(); i++) { ll len = 1; for (auto len = 1; len <= 5 && i + len <= s.size(); len++) { string t = s.substr(i, len); // cout << "i=" << i << " len=" << len << " " << xs.front() << " < " << t << "?=" << (xs.front() < t) << s.size() << endl; // cout << xs.front() << " t=" << t << endl; if (xs.front() < t) continue; bool isin = false; for (auto w : xs) if (w == t) isin = true; if (isin) continue; // cout << "push " << t << endl; pop_heap(xs.begin(), xs.end()); xs.pop_back(); xs.push_back(t); push_heap(xs.begin(), xs.end()); } } // return 0; while (xs.front() == invalid) { // cout << "! pop " << xs.front() << " " << (xs.front()) << " xs.size()=" << xs.size() << endl; pop_heap(xs.begin(), xs.end()); xs.pop_back(); } cout << xs.front() << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - K-th Substring |
User | kgoto |
Language | C++14 (GCC 5.4.1) |
Score | 300 |
Code Size | 1466 Byte |
Status | AC |
Exec Time | 5 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 | 3 ms | 256 KB |
2_014.txt | AC | 5 ms | 256 KB |
2_015.txt | AC | 2 ms | 256 KB |
2_016.txt | AC | 3 ms | 256 KB |
2_017.txt | AC | 3 ms | 256 KB |
2_018.txt | AC | 3 ms | 256 KB |