#14017: 大神求救 編譯沒有問題 但DEV跑的時候出現錯誤訊息


player963852@gmail.com (謝立愷)

學校 : 不指定學校
編號 : 79656
來源 : []
最後登入時間 :
2018-05-09 23:48:42
b966. 3. 線段覆蓋長度 -- 2016年3月apcs | From: [123.192.38.45] | 發表日期 : 2018-05-30 20:08

前70%我這樣寫沒有問替

#include <iostream>
using namespace std;
int main(){
int a,b,D,N,sum=0,M[1000]={0};//a跟b為輸入的兩數 D為差
cin>>N;
for(int n=0;n<N;++n){
cin>>a>>b;
D=b-a;
for(int d=0;d<D;++d){
M[a+d]=1;
}
}
for(int x=0;x<1000;++x){
if(M[x]==1)++sum;
}
cout<<sum;
return 0;
}

但是如果我把int M[1000]改成M[100000000]編譯成功 但執行失敗

--------------------------------
Process exited after 1.963 seconds with return value 3221225725
請按任意鍵繼續 . . .

 
#15181: Re:大神求救 編譯沒有問題 但DEV跑的時候出現錯誤訊息


2qbingxuan (程式初學者)

學校 : 臺北市立建國高級中學
編號 : 58274
來源 : [114.32.125.176]
最後登入時間 :
2024-04-01 20:23:17
b966. 3. 線段覆蓋長度 -- 2016年3月apcs | From: [210.71.78.241] | 發表日期 : 2018-09-17 08:37

 

......如果我把int M[1000]改成M[100000000]編譯成功 但執行失敗

--------------------------------
Process exited after 1.963 seconds with return value 3221225725
請按任意鍵繼續 . . .

電腦分配給console的記憶體有限,10^9的int基本上是不可能的,需要改進演算法以減低複雜度

 
ZeroJudge Forum