美文网首页
罪犯转移[动态规划]

罪犯转移[动态规划]

作者: 第六象限 | 来源:发表于2018-03-21 11:10 被阅读0次

C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式?

输入描述:

第一行数据三个整数:n,t,c(1≤n≤2e5,0≤t≤1e9,1≤c≤n),第二行按入狱时间给出每个犯人的罪行值ai(0≤ai≤1e9)

输出描述:

一行输出答案。

示例1

输入
3 100 2
1 2 3
输出
2

import java.util.Scanner;
public class Main{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        while(in.hasNext()){
            int n = in.nextInt();//n个人
            int t = in.nextInt();//
            int c = in.nextInt();//连续c名
            int[] a = new int[n];
            for(int i = 0;i<n;i++){
                a[i] = in.nextInt();
            }
            int count = 0;
            int tempt = 0;
            for(int i = 0;i<c;i++){
                tempt += a[i];
            }
            if(tempt<=t)
                count++;
           for(int i = c;i<a.length;i++){
               tempt = tempt+a[i]-a[i-c];
               if(tempt<=t)
                count++;
           }
           System.out.println(count);
        }
    }
}

相关文章

  • 罪犯转移[动态规划]

    C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了...

  • 动态规划

    动态规划(Dynamic Programming) 本文包括: 动态规划定义 状态转移方程 动态规划算法步骤 最长...

  • 动态规划 - 凸多边形的最优三角剖分问题

    动态规划 动态规划的核心概念有以下3点: 最优子结构 问题的边界 状态转移公式 设计动态规划算法的基本步骤: 找出...

  • 动态规划 dynamic programming

    动态规划是什么 求解动态规划的步骤 找到问题目标 定义状态: opt[n] 状态转移方程: opt[n] = be...

  • 02-13:leetcode重刷7之动态规划

    动态规划 动态规划的重点是:状态转移方程 1、判断子序列 leetcode392. 判断子序列[https://l...

  • 剑指offer-丑数

    这题自己的方法竟然超时了,看了题解,用了动态规划 自己也想过动态规划,就是不知道状态转移方程要怎么写。 dp[i]...

  • 07-15:动态规划review3

    动态规划类问题模板: 首先,问题之间有状态转移 模板: 数组 数组初值 状态转移方程 最终结果 1、最小编辑代价 ...

  • 152. Maximum Product Subarray

    动态规划的做法,转移方程真的很难写我至今还是糊糊涂涂的

  • 算法小抄

    动态规划 动态规划三要素 重叠子问题:重复计算 最优子结构:通过子问题的最值得到原问题的最值 状态转移方程:列出正...

  • 9.3 - 高算6

    继续讲动态规划,这节课讲了三种类型的动态规划: 区间类:求一段区间的解max/min/count转移方程通过区间更...

网友评论

      本文标题:罪犯转移[动态规划]

      本文链接:https://www.haomeiwen.com/subject/pevwqftx.html