BNUOJ 14519

原创 2016年06月01日 22:22:25

HT的奖金

2000ms
65536KB
64-bit integer IO format: %lld      Java class name: Main
Font Size:  

五一将近,HT所在的公司又要发节日慰问金了,但他们发奖金的方式非常奇特,老板会拿着N(N<=4000)张百元大钞到HT面前,让HT从中选出连续的K张,并要求这K张的连号的(但它们可以不是按顺序排列的)。现在HT想知道,对于给定的钞票序列,他最多能拿到多少奖金呢=,=

Input

 

一个整数N,表示一共有N张钞票

接下来N行,按顺序给出每张钞票的编号。钞票编号以两个大写字母HT开头,后面紧跟8个数字。【假设这里木有假钞,所以也不可能有同号的钞票。。。】

Output

 

一个整数P,表示HT最多能得到的奖金数目

Sample Input

5
HT00000001
HT00000006
HT00000002
HT00000004
HT00000003

Sample Output

300

Hint

 

每张都是百元大钞哦~

Source

第十届北京师范大学程序设计竞赛网络预赛


就是找最大的连续位置数字,属于区间覆盖问题,做过好多次了还是不会自己写。。。

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
const int N = 4011;
int a[N], b[N], dp[N];


int main()
{
    int n;
    char x, y;
    while(scanf("%d",&n)!=EOF)
    {
        for(int i=0;i<n;i++)
        {
             scanf(" %c%c%d",&x, &y, &a[i]);
        }
        int length=0;
        for(int i=0;i<n;i++)
        {
            int Max=a[i], Min=a[i];
            for(int j=i;j<n;j++)
            {
                Max=max(Max,a[j]);
                Min=min(Min,a[j]);
                if(Max-Min+1==j-i+1&&j-i+1>length)
                {
                    length=j-i+1;
                }
            }
        }
        cout<<length*100<<endl;
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

BNUOJ 14519 HT的奖金

题目链接~~> 做题感悟:这是比赛时没做出来的一题,想到暴力了,应该再深入一点,优化一下暴力。 解题思路:枚举起点与终点,找区间的最大值和最小值,只要最大值减最小值等于区间长度那么就是连号,至于最...
  • u011074149
  • u011074149
  • 2014年03月16日 19:55
  • 417

十四届北师大校赛题解

A.Check In 题目: https://www.bnuoj.com/v3/problem_show.php?pid=51635 题意: 找到所有是bnu的账号数量 思路: 所有是bnu的账号...
  • kopyh
  • kopyh
  • 2016年06月10日 12:33
  • 738

BNU 1082 人品问题

这个题我是1A 突然觉得自己好叼 #include int main() { printf("25\n"); return 0; }...
  • u010863471
  • u010863471
  • 2014年08月11日 17:14
  • 545

BNUOJ 51003 BQG's Confusing Sequence(二进制)

题意: 混乱数:=只由a和b两种数字构成的正整数,a,b∈[0,9],a≠b混乱数:=只由a和b两种数字构成的正整数, a, b \in[0,9], a\neq b 求第1≤n≤109个混乱...
  • lwt36
  • lwt36
  • 2015年12月27日 02:03
  • 371

bnu52297Coins(弱校联盟第一场)--找规律

比赛的时候不会,看题解补题的。 if a >= 2 那么1可以由一个1表示,2可以由两个1表示,这样 1 ~ 3c 范围内的所有数都能被表示,同理3c + 1 ~ 3c + 2...
  • abc13068938939
  • abc13068938939
  • 2016年10月04日 10:37
  • 151

bnuoj 52317 As Easy As Possible(预处理+倍增法)

求区间里,一个字符串的easyeasy子序列最多出现多少次easy求区间里,一个字符串的easyeasy子序列最多出现多少次easy 就是区间里的序列可以组成多少个easy,不能相交就是区间里的序列...
  • Miracle_ma
  • Miracle_ma
  • 2016年10月06日 14:24
  • 288

Delphi 7使用PasDoc生成文档

PasDoc是一个ObjectPascal源代码文档工具。从源代码中发现的注释而生成的文档。在代码中应该如何写注释,才能让PasDoc自动识别而生成文档,官网做了详细的介绍(http://pasdoc...
  • akof1314
  • akof1314
  • 2011年09月29日 19:11
  • 2660

BNUOJ 52296 Nearest Neighbor Search(十一弱校联盟 暴力分情况)

思路: 就是在立方体区域内找一点,使平方距离和最小。 有点傻,直接暴力分情况讨论了27种情况。。。 代码: #include #include #include #include using na...
  • hhu1506010220
  • hhu1506010220
  • 2016年10月02日 20:43
  • 290

【BNUOJ】 信息战(四)——战场演练(树状数组,查询第k大值)

用一个数组p[n]保存
  • zhan723284893
  • zhan723284893
  • 2014年11月17日 20:11
  • 253

POJ 1664 放置苹果

Name: 放置苹果 P_ID: POJ1664(BNUOJ1783) 题目描述: 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1...
  • lvxin1204
  • lvxin1204
  • 2016年04月06日 22:40
  • 210
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:BNUOJ 14519
举报原因:
原因补充:

(最多只允许输入30个字)