题解 | #罪犯转移#

罪犯转移

https://www.nowcoder.com/practice/b7b1ad820f0a493aa128ed6c9e0af448

import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        Scanner in = new Scanner(System.in);

        while(in.hasNext()){
            solution(in);
        }
    }

    /**
     * 动态规划
     *
     * dp[i]表示前i个罪犯的罪行值之和
     *
     * 关系式:
     * dp[i+c]-dp[i] <= t
     * 
     * @param in
     */
    private static void solution(Scanner in){
        int n = in.nextInt();
        int t = in.nextInt();
        int c = in.nextInt();

        int[] dp = new int[n+1];
        for(int i=1; i<=n; i++){
            dp[i] = dp[i-1] + in.nextInt();
        }

        int result = 0;
        for(int i=0; i+c<=n; i++){
            if(dp[i+c]-dp[i] <= t){
                result++;
            }
        }

        System.out.println(result);
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务