結果

問題 No.2452 Incline
ユーザー anonymously
提出日時 2023-09-01 23:40:24
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 649 bytes
コンパイル時間 1,579 ms
コンパイル使用メモリ 160,820 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2025-01-03 12:53:14
合計ジャッジ時間 4,810 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 2 WA * 6
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

const long MOD=998244353L;
long mod(long a){
	return a%MOD;
}
long inverse(long a) {
    long b = MOD, u = 1L, v = 0L;
    while(b){
        long t = a / b;
        a -= t * b; swap(a, b);
        u -= t * v; swap(u, v);
    }
    return (u%MOD + MOD) % MOD;
}
long func(long n,long m,long x){
	return mod(mod((x+1)/(n-1))*mod(m+1)+mod((m+1)/(n-1))*mod((x+1)%(n-1))+min((x+1)%(n-1),(m+1)%(n-1)));
}

int main(){
	int t;
	cin >> t;
	while(t--){
		long n,m,l,r;
		cin >> n >> m >> l >> r;
		//long ans=(m+1)*(r-l+1)/(n-1);
		long ans=mod(func(n,m,r)-func(n,m,l-1));
		cout << ans << endl;
	}
	return 0;
}
0