为啥暴力RE了,能过样例,有大佬看看问题嘛

P8661 [蓝桥杯 2018 省 B] 日志统计

91xrz @ 2023-04-02 23:22:58

#include <bits/stdc++.h>

using namespace std;
int n, d, k1,ts,id,ans;
int s[101][101];//这里改成1010也是一样的
int main()
{
    cin >> n >> d >> k1;
    while (n--)
    {
        cin >> ts >>id ;
        s[id][ts]++;//让id,ts的下标+1
    }
    for (int i = 0; i < 101; i++)
        for (int j = 0; j < 101; j++)

            {

                if (s[i][j] != 0) 
                {
                    int x = 0;
                    for (int k = 0; k <= d-1&&j+k<101; k++)  //从j--k+j遍历相加
                    {

                        x += s[i][j+k];

                    }

                    if (x >= k1) cout << i << endl;//判断是否满足条件
                    j += (d-1); //跳过该id的店
                }
            }

}

by Etsuya233 @ 2023-08-04 15:57:44

这个是d>n的情况,这个会导致数组越界,判断一下就可以


|