zoukankan      html  css  js  c++  java
  • 涛神的城堡

    涛神的城堡

    Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)
    Total Submission(s) : 54   Accepted Submission(s) : 13

    Font: Times New Roman | Verdana | Georgia

    Font Size: ← →

    Problem Description

    涛神有一个城堡给游客参观,涛神特别的强壮,涛神的强壮值是strong,每个游客也有自己的强壮值,涛神为了赚钱,他会选取多个区间去打劫别人,所以如果比涛神弱的,他就要收取他们的强壮值的差值,但是还是有比涛涛强壮的,所以涛涛打劫那个人的话,涛涛要给那个人他们的强壮值的差值,所以涛涛可以选择打不打劫那个区间的人,(人是可以重复打劫的,区间不行)涛涛最多能赚多少钱呢?

    Input

    第一行给你三个整型变量n,m,strong(1≤n,m≤10000,1≤strong≤200),
    第二行给你n个人的强壮值a1,a2,...,an(1≤ai≤200).
    接下来m行给你两个整型变量l,r(1≤li≤ri≤n),代表区间里包括了第l个游客到第r个游客,涛涛可以选择打不打劫这个区间

    Output

    输出涛涛可以打劫到的最多的钱

    Sample Input

    5 4 10
    9 12 9 7 14
    1 2
    4 5
    3 4
    1 4
    

    Sample Output

    7

    题目有毒,题目说区间不行,但必须按可以取重复的区间才能A;
     1 #include <iostream> 
     2 #include <cstdio>
     3 #include <cstring>
     4 #define M 10015
     5 #define  ll long long int
     6 using namespace std;
     7 int a[M];
     8 int main(){
     9     int n,m,strong;
    10     while(scanf("%d%d%d",&n,&m,&strong)!=EOF){
    11         for(int i=1;i<=n;i++){
    12             ll t;
    13             scanf("%lld",&t);
    14             a[i]=a[i-1]+strong-t;
    15         }
    16         ll cnt=0;
    17         for(int i=0;i<m;i++){
    18             ll x,y;
    19             scanf("%lld%lld",&x,&y);
    20             ll sum=a[y]-a[x-1];
    21             if(sum>0)
    22                 cnt+=sum;
    23         }
    24         printf("%lld
    ",cnt);
    25         memset(a,0,sizeof(a));
    26     }
    27 
    28     return 0;
    29 }


  • 相关阅读:
    redux dispatch、action、reduce 执行流程
    react中使用react-redux
    npm 全局安装默认地址
    react 组件外js文件路由跳转
    withRouter的作用和适用场景
    react 自定义高阶组件,实现路由拦截,子路由渲染
    移动端原生js使用touch事件监听滑动方向
    Vue.js中this.$nextTick()的使用与理解
    域名等级划分介绍
    nodejs 实现一个账号只能一台设备登录
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/7260362.html
Copyright © 2011-2022 走看看