#30632: 請問為甚麼會出現這種錯誤 P8. 幽靈寶藏(Treasure)


hey_there (username)

學校 : 不指定學校
編號 : 194106
來源 : [180.217.68.35]
最後登入時間 :
2023-09-21 23:55:49
e841. P8. 幽靈寶藏(Treasure) -- 2019年08月TOI新手同好會 | From: [180.217.196.140] | 發表日期 : 2022-06-02 12:11

#include <stdio.h>

int main()
{
    int m, n;
    scanf("%d %d", &m, &n);
    int time[m];
    for (int i = 0; i < m; i++)
        time[i] = 1;
    int sum[m];
    for (int i = 0; i < m; i++)
        sum[i] = 0;
    long int rst[m];
    int min, max, chs, num;
    for (int i = 0; i < n; i++)
    {
        scanf("%d %d %d %d", &min, &max, &chs, &num);
        switch (chs)
        {
        case 1:
            for (int j = (min - 1); j < max; j++)
            {
                sum[j] += num;
            }
            break;
        case 2:
            for (int j = (min - 1); j < max; j++)
            {
                time[j] *= num;
            }
            break;
        }
    }
    long int rstmax = 0;
    for (int i = 0; i < m; i++)
    {
        rst[i] = time[i] * sum[i];
        if (rst[i] > rstmax)
            rstmax = rst[i];
    }
    for (int i = 0; i < m; i++)
    {
        if (rst[i] == rstmax)
        {
            printf("%d %ld", ++i, rstmax);
            break;
        }
    }

    return 0;
}
 
#30643: Re: 請問為甚麼會出現這種錯誤 P8. 幽靈寶藏(Treasure)


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
e841. P8. 幽靈寶藏(Treasure) -- 2019年08月TOI新手同好會 | From: [59.115.23.60] | 發表日期 : 2022-06-02 21:16

 
    int time[m];
   
    int sum[m];
    long int rst[m];
 


大概是m太大所以stack overflow了,改成動態記憶體就變成TLE了

 
ZeroJudge Forum