不会队列 用数组纯暴力模拟的,70pts,6个T,大佬看看还能改改吗?
#include<bits/stdc++.h>
using namespace std;
struct hulk
{
int x;
int time;
};
int t[100001];
int k[100001];
hulk o[300001];
bool a[100001] = {0};
int main()
{
int n;
cin >> n;
int xia = 0;
for(int i = 1;i <= n;i++)
{
cin >> t[i] >> k[i];
for(int j = 1;j <= k[i];j++)
{
xia++;
cin >> o[xia].x;
o[xia].time = t[i];
}
}
xia = 0;
for(int i = 1;i <= n;i++)
{
xia += k[i];
int ans = 0;
int max = 0;
int min = 100001;
for(int j = xia;j >= 1;j--)
{
if(t[i] - o[j].time >= 86400)
{
break;
}
else if(t[i] - o[j].time < 86400)
{
a[o[j].x] = true;
if(max < o[j].x)
{
max = o[j].x;
}
if(min > o[j].x)
{
min = o[j].x;
}
}
}
for(int p = max;p >= min;p--)
{
if(a[p] == true)
{
ans++;
a[p] = false;
}
}
cout << ans << endl;
}
return 0;
}