Зверніть увагу, що кількість кубів, з якими ми маємо справу, є O(\sqrt[3]{N}). Ми повинні ітерувати від -O(\sqrt[3]{N}) до O(\sqrt[3]{N}), давайте визначимо сталий множник границь, щоб не отримати вердикт WA. В деяких негативних випадках ви точно перевищите 1000^3 цілих чисел, тож варто це врахувати, яким є безпечний постійний множник загалом, буде безпечним однозначно.
І, враховуючи ітерацію всіх пар (-3000 \le x < y \le 3000), це завершиться з O(1.8 \times 10^7) операціями, що зазвичай швидко.
(Можна оптимізувати до O(\sqrt[3]{N}) з кількома постійними множниками)
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ld long double
void solve(){
int n;cin>>n;
for(int i=-3000;i<=3000;i++){
for(int j=i;j<=3000;j++){
if(i*i*i+j*j*j==n){
cout<<i<<" "<<j<<"\n";
}
}
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
solve();
}