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


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

學校 : 臺北市立松山高級中學
編號 : 278368
來源 : [61.231.20.66]
最後登入時間 :
2025-06-15 17:49:41

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)

學校 : 不指定學校
編號 : 30877
來源 : [39.12.66.21]
最後登入時間 :
2025-04-20 17:19:22

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


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

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


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

學校 : 臺北市立松山高級中學
編號 : 278368
來源 : [61.231.20.66]
最後登入時間 :
2025-06-15 17:49:41

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


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

喔喔喔喔

OK懂了


感謝大大的回覆:D

好人一生平安