結果
| 問題 | No.3571 Sigma Problems Problem |
| ユーザー |
kazuppa
|
| 提出日時 | 2026-06-09 18:55:52 |
| 言語 | C++23 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
AC
|
| 実行時間 | 384 ms / 2,000 ms |
| コード長 | 671 bytes |
| 記録 | |
| コンパイル時間 | 4,478 ms |
| コンパイル使用メモリ | 374,848 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2026-06-11 21:00:29 |
| 合計ジャッジ時間 | 8,029 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge2_0 |
| 純コード判定待ち |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 20 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
#include <atcoder/all>
using namespace atcoder;
using mint=modint998244353;
#define mod 998244353
ll mod_pow(ll x,ll p){
//x^p mod 998244353をO(log p)で求める
__int128_t res=1,v=x;
while(p>0){
if(p&1)res=res*v%mod;
v=v*v%mod;
p>>=1;
}
return res;
}
void solve(){
//ACLのmodintの使い方については https://atcoder.github.io/ac-library/production/document_ja/modint.html を参照してください
ll n,m;cin>>n>>m;
mint e=mod_pow(m,n)*(n%mod)%mod*((n-1)%mod)%mod*((m-1)%mod)%mod;
cout<<((e/4).val())<<endl;
}
int main(){
int t;cin>>t;
while(t--)solve();
}
kazuppa