[蓝桥2022国赛] 费用报销

费用报销

问题描述

小明在出差结束后返回了公司所在的城市, 在填写差旅报销申请时, 粗心 的小明发现自己弄丢了出差过程中的票据。

为了弥补小明的损失, 公司同意小明用别的票据进行报销, 但是公司财务 要求小明提交的票据中任意两张的日期差不小于 K 天, 且总金额不得超过实际 差旅费用 M 。

比如财务要求 K=7 时, 若小明提交了一张 1 月 8 日的票据, 小明就不能 提交 1 月 2 日至 1 月 14 日之间的其他票据, 1 月 1 日及之前和 1 月 15 日及之 后的票据则可以提交。

公司的同事们一起给小明凑了 N 张票据, 小明现在想要请你帮他整理一 下, 从中选取出符合财务要求的票据, 并使总金额尽可能接近 M 。

需要注意, 由于这些票据都是同一年的, 因此 12 月底的票据不会影响到 1 月初票据的提交。这一年不是闰年。

输入格式

第 1 行: 3 个整数, N,M,K

第 2…N+1 行: 每行 3 个整数 mi​,di​,vi​, 第 i+1 行表示第 i 张票据时间 的月份mi​ 和日期 di​,vi​ 表示该票据的面值

输出格式

第 1 行: 1 个整数, 表示小明能够凑出的最大报销金额

样例输入

4 16 3
1 1 1
1 3 2
1 4 4
1 6 8

样例输出

10

样例说明

选择 1 月 3 日和 1 月 6 日的票据

评测用例规模与约定

对于 100% 的评测用例,1≤N≤1000,1≤M≤5000,1≤K≤50,1≤mi​≤ 12,1≤di​≤31,1≤vi​≤400

日期保证合法。

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 512M

总通过次数: 441  |  总提交次数: 513  |  通过率: 86%

难度: 简单   标签: 2022, 国赛, 01背包

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int N, M, K;
    cin >> N >> M >> K;
    int day[] = { 0,31,59,90,120,151,181,212,243,273,304,334 };
    int dp[366];
    for (int i = 0; i < 366; i++)
    {
        dp[i] = 0;
    }
    dp[0] = 0;
    for (int i = 0; i < N; i++)
    {
        int m, d, v;
        cin >> m >> d >> v;
        dp[day[m - 1] + d] = max(dp[day[m-1]+d],v);
    }

    for (int i = 1; i <= 365; i++)
    {
        if (dp[i] + dp[max(i - K, 0)] <= M)
            dp[i] = max(dp[i] + dp[max(i - K, 0)], dp[i - 1]);
        else
            dp[i] = dp[i - 1];
    }
    cout << dp[365] << endl;

}

相关推荐

  1. [2022] 费用报销

    2024-02-18 18:54:02       47 阅读
  2. 杯(Web大学组)2022真题:新鲜的蔬菜

    2024-02-18 18:54:02       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-18 18:54:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-18 18:54:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-18 18:54:02       82 阅读
  4. Python语言-面向对象

    2024-02-18 18:54:02       91 阅读

热门阅读

  1. 贪吃蛇小游戏

    2024-02-18 18:54:02       47 阅读
  2. PCIE 4.0 Power Mangement

    2024-02-18 18:54:02       47 阅读
  3. python用socket传输图片

    2024-02-18 18:54:02       43 阅读
  4. Redis常用命令

    2024-02-18 18:54:02       47 阅读
  5. 4 存储器管理(下)

    2024-02-18 18:54:02       45 阅读
  6. 16.3 Spring框架_SpringJDBC与事务管理(❤❤❤❤)

    2024-02-18 18:54:02       54 阅读
  7. Docker-compose容器编排技术

    2024-02-18 18:54:02       40 阅读
  8. CSS的伪类选择器:nth-child()的用法示例

    2024-02-18 18:54:02       49 阅读
  9. Android13.0 系统Framework发送通知流程分析

    2024-02-18 18:54:02       50 阅读
  10. stable diffusion webui学习总结(3):参数设置

    2024-02-18 18:54:02       46 阅读