CCF201809-5 线性递推式(JAVA 持续混分 20分)

  • 完美混分
import java.util.Scanner;
public class Main{
    static int N = 100010;
    static long a[] = new long[N];
    static int k[] = new int[N];
    public static void main(String[] args) {
        a[0] = 1;
        Scanner scanner = new Scanner(System.in);
        int m = scanner.nextInt();
        int l = scanner.nextInt();
        int r = scanner.nextInt();
        for(int i = 1; i <= m; i++) k[i] = scanner.nextInt();
        for(int i = 1; i <= r; i++) {
            int t = Math.min(i, m);
            for(int j= 1;j <= t; j++) {
                a[i] = (a[i]+a[i-j]*k[j]%998244353)%998244353;
            }
        }
        for(int i = l ; i <= r; i++) System.out.println(a[i]+" ");
    }
}

你可能感兴趣的:(CCF201809-5 线性递推式(JAVA 持续混分 20分))