結果

問題 No.2452 Incline
ユーザー anonymouslyanonymously
提出日時 2023-09-01 23:29:32
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
WA  
実行時間 -
コード長 647 bytes
コンパイル時間 1,745 ms
コンパイル使用メモリ 164,500 KB
実行使用メモリ 4,508 KB
最終ジャッジ日時 2023-09-01 23:29:37
合計ジャッジ時間 4,861 ms
ジャッジサーバーID
(参考情報)
judge16 / judge15
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
4,380 KB
testcase_01 AC 2 ms
4,380 KB
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
権限があれば一括ダウンロードができます

ソースコード

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%(n-1)+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