結果
問題 | No.1904 Never giving up! |
ユーザー |
|
提出日時 | 2022-04-15 22:51:45 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,103 bytes |
コンパイル時間 | 2,004 ms |
コンパイル使用メモリ | 196,064 KB |
最終ジャッジ日時 | 2025-01-28 18:32:27 |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 9 |
ソースコード
#include <bits/stdc++.h>using namespace std;#include <math.h>#include <iomanip>#include <cstdint>#include <string>#include <sstream>template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }#define rep(i,n) for (int i = 0; i < (n); ++i)typedef long long ll;typedef unsigned long long ull;using P=pair<ll,ll>;using tp=tuple<ll,ll,ll>;const int INF=1001001001;const ll INFL=1e18;const int mod=1e9+7;void solve(){int n;cin>>n;vector<int>a(n);vector<ll>fact(22),cnt(n);fact[0]=1;for(int i=1;i<=20;i++){fact[i]=i*fact[i-1];}rep(i,n){cin>>a[i];a[i]--;cnt[a[i]]++;}ll ans=1;for(ll i=1;i<=n;i++){ans*=i;}rep(i,n){ans/=fact[cnt[i]];}cout<<ans<<endl;}int main(){ios_base::sync_with_stdio(false);cin.tie(NULL);solve();return 0;}