hiho week 147 register

Ended

Participants:514

Verdict:Accepted
Score:100 / 100
Submitted:2017-04-24 21:21:58

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include<bits/stdc++.h>
#define maxn 30050
using namespace std;
int a[maxn][5],b[5][maxn];
bitset<maxn>s[5][maxn],t;    //s[i][j]:ij-1 
int main(){
//  freopen("input.txt","r",stdin);
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        for(int j=0;j<=4;j++){
            scanf("%d",&a[i][j]);
            b[j][a[i][j]]=i;     //ja[i][j]i 
        }
    }
    for(int j=0;j<=4;j++){
        s[j][1]=0;
        for(int i=2;i<=n;i++){
            s[j][i]=s[j][i-1];
            s[j][i].set(b[j][i-1]);
        }
    }
    for(int i=1;i<=n;i++){
        t=s[0][a[i][0]];
        for(int j=1;j<=4;j++){
            t&=s[j][a[i][j]];
        }
        printf("%d\n",t.count());
    }
    return 0;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX