我的代码:
#include<bits/stdc++.h>
using namespace std;
string sub(string a,int l,int r){
string b;
for(int i=l; i<=r; i++) b+=a[i];
return b;
}
vector<int> oi[500005];
int main(){
cin.tie(0);
cout.tie(0);
int T;
cin>>T;
while(T--){
string a;
cin>>a;
int q;
cin>>q;
set<int> v;
while(q--){
int k,m;
cin>>k>>m;
if(oi[k].size()==0){
set<string> n;
map<string,int> m;
for(int i=0;i<a.size()-k; i++){
string c=sub(a,i,i+k-1);
n.insert(c);
if(m[c]==0) m[c]=i+1;
}
for(auto it: n){
int j=m[it]-1;
oi[k].push_back(j);
}
v.insert(k);
}
if(oi[k].size()<m) cout<<"Not found\n";
else cout<<oi[k][m-1]<<endl;
}
for(auto it:v) oi[it].clear();
}
return 0;
}
TLE呀TLE,怎么改