• 被鸽了的文件清除


    链接:https://ac.nowcoder.com/acm/contest/1091/D
    来源:牛客网

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 524288K,其他语言1048576K
    64bit IO Format: %lld

    题目描述

    众所周知,你整天浏览一些网站有时候因为你手贱,有些奇奇怪怪的东西不知不觉开始下载, 而你一般会立刻点掉他们, 但是却因为你很懒没有把残留文件删掉

    众所周知,时间久了,因为没有删掉残留文件你手机的内存会越来越少。

    现在你的手机内存已经枯竭, 你要去外太空找新能源(走错了)

    现在你要开始清除残留的n个文件。

    清除的方式有2种:

    1.手动删除;
    2.软件删除

    但是你很懒,你今天至多手动删除x个文件。

    手动删除必须满足上一次是软件删除,而软件删除没有要求。

    第i个文件,手动删除扩充aia_iai单位的内存,软件删除扩充bib_ibi单位的内存

    现在你想知道你今天最多扩出多少内存来

    输入描述:

    一行一个整数n,x 表示一共有n个文件,至多手动删x个文件
    接下来n行,每行两个整数a,b 表示手动删除扩充a单位的内存,软件删除扩充b单位的内存

    输出描述:

    一行一个整数表示最多扩充多少内存
    示例1

    输入

    复制
    4 1
    1 1
    2 1
    3 2
    4 3

    输出

    复制
    8

    说明

    一次机会

    如果手动删除1,答案是 1 + 1 + 2 + 3 = 7

    如果手动删除2,答案是 1 + 2 + 2 + 3 = 8

    如果手动删除3,答案是 1 + 1 + 3 + 3 = 8

    如果手动删除4,答案是 1 + 1 + 2 + 4 = 8

    备注:

    对于30%30\%30%的数据,满足1≤n,x≤101leq n,xleq101n,x10

    对于另外30%30\%30%的数据,满足1≤n≤105,x=01leq nleq 10^5,x = 01n105,x=0
     
    对于100%100\%100%的数据,满足1≤ai,bi≤1091leq a_i,b_ileq10^91ai,bi109
     
    对于100%100\%100%的数据,满足1≤n≤105,1≤x≤min⁡{n,103}1leq nleq10^5,1leq xleqmin{n,10^3}1n105,1xmin{n,103}
    #include <bits/stdc++.h>
    
    using namespace std;
    typedef long long ll;
    const int maxn=1e5+10;
    
    int n,x;
    ll s[maxn],t[maxn];
    ll dp[3][maxn][3];
    
    int main()
    {
        scanf("%d%d",&n,&x);
        for(register int i=1;i<=n;++i){
            scanf("%lld%lld",&s[i],&t[i]);
        }
    
        for(register int i=1;i<=n;++i){
            dp[i&1][0][0]=dp[(i-1)&1][0][0]+t[i];
            for(register int j=1;j<=min(x,i-1);++j){
                dp[i&1][j][0]=max(dp[(i-1)&1][j][0],dp[(i-1)&1][j][1])+t[i];
                dp[(i&1)][j][1]=dp[(i-1)&1][j-1][0]+s[i];
            }
        }
        ll res=0;
    
        for(register int i=0;i<=x;++i){
            res=max(res,dp[n&1][i][0]);
            res=max(res,dp[(n&1)][i][1]);
        }
        printf("%lld
    ",res);
        return 0;
    }
     
  • 相关阅读:
    selenium模块---操作浏览器
    mock模块学习---模拟接口返回数据
    fiddler配置和使用
    css 08-CSS属性:定位属性
    css 07-浮动
    css 06-CSS盒模型详解
    css 05-CSS样式表的继承性和层叠性
    css 04-CSS选择器:伪类
    css 03-CSS样式表和选择器
    css 02-CSS属性:背景属性
  • 原文地址:https://www.cnblogs.com/czy-power/p/11608636.html
Copyright © 2020-2023  润新知