Stavo provando a fare il problema: https://training.olinfo.it/#/task/suffissi/statement. Sono riuscito a “risolverlo” solo che il task 4 e 5 vanno in Execution timed out. Non riesco a trovare il modo di accorcialo, qualche consiglio?
#include <bits/stdc++.h>
using namespace std;
int main(){
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
cin.tie(0);
cin.sync_with_stdio(0);
set <long long> w;
set <long long>::iterator f;
int N,M,l=0;
cin>>N;
cin>>M;
long long a[N],b;
for(int i=1;i<=N;i++){
cin>>a[i];
}
for(int i=1;i<=M;i++){
w.clear();
l=0;
cin>>b;
for(int kk=b;kk<=N;kk++){
w.insert(a[kk]);
}
for(f=w.begin();f!=w.end();++f){
l++;
}
cout<<l<<endl;
}
}