只能通过部分数据,救命,要寄了。
#include<iostream>
using namespace std;
struct node{
int num;
int time;
};
int main(){//flag当前国籍数,timeover判断船是否超过24h,index记录每次国籍人数
int i,j,flag=0,record[300]={0},country[100][300],index[100],z,k,timeover[100]={0};
int n;//record记录全船每种国籍总数
cin>>n;
node ship[100];
for(i=0;i<n;i++){
cin>>ship[i].time;
cin>>ship[i].num;
for(j=0;j<ship[i].num;j++){
cin>>country[i][j];
record[country[i][j]]++;
if(record[country[i][j]]==1) flag++;
}
for(z=i-1;z>=0;z--){
if((ship[i].time-ship[z].time)>=86400&&op[z]==0){
timeover[z]=1;
for(k=0;k<ship[z].num;k++){
record[country[z][k]]--;
if(record[country[z][k]]==0) flag--;
}
}
}
index[i]=flag;
}
for(i=0;i<n;i++) cout<<index[i]<<endl;
return 0;
}