Submission #3458664


Source Code Expand

#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
#include <cstdint>
#include <map>
#include <set>
#include <cmath>
#include <cstdlib>
#include <sstream>

#include <boost/range/irange.hpp>
using boost::irange;

#include <boost/utility/string_view.hpp>
using boost::string_view;

using namespace std;

int main()
{
    cin.tie(nullptr);
    ios::sync_with_stdio(false);

    size_t k;
    string s;
    cin >> s >> k;
    
    set<string_view> substrs;
    
    for(size_t l = 1; l <= s.size(); ++l)
    {
       for(size_t i = 0; i < s.size() - l + 1; ++i)
        {
            const auto ss = string_view(&s[i], l);
            //cout << '(' << i << ',' << l << ')' << ' ' << ss << '\n';
            if(substrs.size() < k)
            {
                substrs.insert(ss);                
            }
            else if(ss < *--end(substrs))
            {
                substrs.insert(ss);
                substrs.erase(--end(substrs));
            }
            //copy(begin(substrs), end(substrs), ostream_iterator<string>(std::cout, " ")); cout << endl;
        }
    }
    
    cout << *next(begin(substrs), k-1) << '\n';

    return 0;
}

Submission Info

Submission Time
Task C - K-th Substring
User tetsurom
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1233 Byte
Status CE

Compile Error

./Main.cpp:15:41: fatal error: boost/utility/string_view.hpp: No such file or directory
 #include <boost/utility/string_view.hpp>
                                         ^
compilation terminated.