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的情况,这个会导致数组越界,判断一下就可以