70分求助!
查看原帖
70分求助!
306738
zuoqirun楼主2023/8/16 14:41

70分求助!

#include <bits/stdc++.h>
using namespace std;
struct pass{
    int national, t;
};
queue<pass> a;
int n, t, k, ans, mx;
unsigned int tong[100010];
int main(){
    //freopen("D303.in", "r", stdin);
    cin >> n;
    while (n--){
        cin >> t >> k;
        for (int i = 1; i <= k; i++){
            int nation;
            cin >> nation;
            if (++tong[nation] == 1) ans++;
            a.push({nation, t});
        }
        for (int i = 1; i <= a.size(); i++) {
            //cout << a.front().t << ' ' << a.back().t << endl;
            if (a.back().t - a.front().t >= 86400){
                //cout << "in";
                if (--tong[a.front().national] == 0) ans--;
                a.pop();
            }
            else break;
        }
        cout << ans << endl;
    }
    return 0;
}
2023/8/16 14:41
加载中...