#42000: 為什麼會RE......


henry.rem.rem@gmail.com (*ฅ́˘ฅ̀*)


c++
想說用差分爆破
array陣列開了題目範圍要求的大小(10^7)
範例輸入都沒問題,但丟上ZJ連#0都RE
實在想不到為什麼QQ
程式碼如下:
 
#include <iostream>
#define MAX 10000000
using namespace std;
 
int main() {
int n;
cin >> n;
int arr[MAX]{0};
while (n--) {
        int x1, x2;
        cin >> x1;
        cin >> x2;
        arr[x1]++, arr[x2]--;
    }
    int ans = arr[0] ? 1 : 0;
for (int i = 1; i < MAX; i++) {
    arr[i] += arr[i - 1];
    if (arr[i]) ans++;
}
cout << ans;
return 0;
}
#42987: Re: 為什麼會RE......


cges30901 (cges30901)


 
#define MAX 10000000
 
int arr[MAX]{0};
 


陣列太大,建議改用vector或是動態記憶體

#42988: Re: 為什麼會RE......


henry.rem.rem@gmail.com (*ฅ́˘ฅ̀*)


 
#define MAX 10000000
 
int arr[MAX]{0};
 


陣列太大,建議改用vector或是動態記憶體

喔喔喔喔

OK懂了


感謝大大的回覆:D

好人一生平安