Submission #3775611
Source Code Expand
#include "bits/stdc++.h"
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <map>
#include <vector>
#include <math.h>
#include <algorithm>
#include <queue>
#include <set>
#include <tuple>
using namespace std;
#define FOR(i,init,a) for(int i=init; i<a; i++)
#define rep(i,a) FOR(i,0,a)
#define rrep(i,a) for(int i=a; i>=0; i--)
#define rep1(i,a) for(int i=1; i<=a; i++)
#define cout1(a) cout << a << endl;
#define cout2(a,b) cout << a << " " << b << endl;
#define cout3(a,b,c) cout << a << " " << b << " " << c << endl;
#define cout4(a,b,c,d) cout << a << " " << b << " " << c << " " << d << endl;
#define mem(a,n) memset( a, n, sizeof(a))
#define all(a) a.begin(),a.end()
#define chmin(a,b) a=min(a,b);
#define chmax(a,b) a=max(a,b);
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;
typedef vector<int> V;
typedef vector<V> VV;
typedef vector<VV> VVV;
const int INF = 1e9;
const int MOD = 1e9+7;
const ll LLINF = 1e18;
static const double pi = 3.141592653589793;
ll fact[200000], invFact[200000];
long long power(long long x, long long c) {
if(c==0) return 1;
if(c==1) return x;
if (c%2==1) return (power( (x*x)%MOD, c/2)*x)%MOD;
else return power( (x*x)%MOD, c/2)%MOD;
}
void make_combT(ll n){
fact[0]=1;
rep1(i,n) fact[i]= fact[i-1]*i%MOD;
invFact[n] = power(fact[n],MOD-2);
rrep(i,n-1) invFact[i] = invFact[i+1] * (i+1) %MOD;
}
ll comb(ll n, ll m){
if(n<m||n<0||m<0) return 0;
return (fact[n] * invFact[m] %MOD) * invFact[n-m] %MOD;
}
int N,s,t;
map<int,int> dic;
int main() {
cin.tie(0);
ios::sync_with_stdio(false);
make_combT(100009);
cin>>N;
rep(i,N){
int a;cin>>a;
if(dic.count(a)){
s=dic[a];
t=N-i;
}
dic[a]=i;
}
rep1(i,N+1){
ll tmp=comb(N+1,i);
if(i-1<=s+t){
tmp-=comb(s+t,i-1);
if(tmp<0) tmp+=MOD;
}
cout1(tmp)
}
}
Submission Info
Submission Time |
|
Task |
D - 11 |
User |
mensan_fukuhara |
Language |
C++14 (GCC 5.4.1) |
Score |
600 |
Code Size |
2065 Byte |
Status |
AC |
Exec Time |
212 ms |
Memory |
7424 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
600 / 600 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample1.txt, sample2.txt, sample3.txt |
All |
1.txt, mx.txt, rnd_0.txt, rnd_1.txt, rnd_2.txt, rnd_3.txt, rnd_4.txt, sample1.txt, sample2.txt, sample3.txt |
Case Name |
Status |
Exec Time |
Memory |
1.txt |
AC |
210 ms |
7424 KB |
mx.txt |
AC |
212 ms |
7424 KB |
rnd_0.txt |
AC |
175 ms |
6400 KB |
rnd_1.txt |
AC |
145 ms |
5760 KB |
rnd_2.txt |
AC |
42 ms |
2944 KB |
rnd_3.txt |
AC |
37 ms |
2816 KB |
rnd_4.txt |
AC |
63 ms |
3584 KB |
sample1.txt |
AC |
3 ms |
1792 KB |
sample2.txt |
AC |
3 ms |
1792 KB |
sample3.txt |
AC |
3 ms |
1792 KB |