大佬帮忙看看出了什么问题
#include <iostream>
using namespace std;
long long n;
long long prea[2000005];
int main() {
cin >> n;
int cnt = 0;
while(1) {
prea[++cnt] = prea[cnt - 1] + cnt;
if(cnt >= 2000000) break;
}
int l = 0, r = 0;
while(l <= n && r <= n) {
if(prea[r] - prea[l] == n) {
if(l + 1 != r)cout << l + 1 << " " << r << endl;
l++;
}
if(prea[r] - prea[l] < n) {
r++;
}
if(prea[r] - prea[l] > n) {
l++;
}
}
return 0;
}