結果
問題 | No.1035 Color Box |
ユーザー |
![]() |
提出日時 | 2020-04-26 21:44:42 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 99 ms / 2,000 ms |
コード長 | 1,657 bytes |
コンパイル時間 | 1,875 ms |
コンパイル使用メモリ | 172,092 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-18 11:41:15 |
合計ジャッジ時間 | 5,275 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 36 |
ソースコード
#include <bits/stdc++.h>using namespace std;#define ll long long#define f(i,a,b) for(ll i=a;i<b;i++)#define fd(i,a,b) for(ll i=a;i>=b;i--)#define rep(it,a) for(auto it: a)#define pb emplace_back#define mp make_pair#define vll vector<ll>#define pll pair<ll,ll>#define MOD (1000LL*1000*1000+7)#define INF (MOD*MOD)#define F first#define S second#define all(a) a.begin(),a.end()#define tri pair<ll,pll>#define vpll vector<pll>#define vvll vector<vll>#define LL(t) ll t;cin>>t#define VLL(v,n) vll v(n);f(i,0,n){cin>>v[i];}ll power(ll a, ll b, ll mod) { // return (a^b)%modif(b==0) return 1;ll half=power(a,b / 2,mod);ll full=(half*half)%mod;return (b%2) ? (a*full)%mod : full;}ll divMod(ll a, ll b, ll mod){ // return (a/b) % mod , works iff a%b=0return ((a%mod)*(power(b, MOD-2, MOD)))%mod;}bool comp(tri & a, tri &b){if(a.first!=b.first)return a.first < b.first;else{if(a.S.F!=b.S.F)return a.S.F < b.S.F;elsereturn a.S.S < b.S.S;}}int main(){ios_base::sync_with_stdio(false);cin.tie(nullptr);// freopen("input.txt", "r", stdin);// freopen("output.txt", "w", stdout);LL(n);LL(m);vll fact(100001), factInv(100001);fact[0]=factInv[0]=1;f(i,1,100001){fact[i]=(fact[i-1]*i)%MOD;factInv[i]=power(fact[i],MOD-2,MOD);}ll sum=0;f(i,0,m){ll x=(((((fact[m]*power(m-i,n,MOD))%MOD)*factInv[i])%MOD)*factInv[m-i])%MOD;if(i%2){sum-=x;} elsesum+=x;sum%=MOD;}cout<<((sum<0)?sum+MOD:sum)<<endl;return 0;}