zoukankan      html  css  js  c++  java
  • HihoCoder#1051:补提交卡

    1051 : 补提交卡

    时间限制:2000ms
    单点时限:1000ms
    内存限制:256MB
    描述
    小Ho给自己定了一个宏伟的目标:连续100天每天坚持在hihoCoder上提交一个程序。100天过去了,小Ho查看自己的提交记录发现有N天因为贪玩忘记提交了。于是小Ho软磨硬泡、强忍着小Hi鄙视的眼神从小Hi那里要来M张”补提交卡”。每张”补提交卡”都可以补回一天的提交,将原本没有提交程序的一天变成有提交程序的一天。小Ho想知道通过利用这M张补提交卡,可以使自己的”最长连续提交天数”最多变成多少天。

    输入
    第一行是一个整数T(1 <= T <= 10),代表测试数据的组数。

    每个测试数据第一行是2个整数N和M(0 <= N, M <= 100)。第二行包含N个整数a1, a2, … aN(1 <= a1 < a2 < … < aN <= 100),表示第a1, a2, … aN天小Ho没有提交程序。

    输出
    对于每组数据,输出通过使用补提交卡小Ho的最长连续提交天数最多变成多少。

    样例输入
    3
    5 1
    34 77 82 83 84
    5 2
    10 30 55 56 90
    5 10
    10 30 55 56 90
    样例输出
    76
    59
    100
    这道题唯一一个值得写的地方就是程序从头至尾都是自己一个一个码出来的,没有查阅任何资料,当然我现在也就能刷刷这种题找找自信了。。。。。另外一点就是自己居然用了vector,真是可喜可贺(……)

    我都不知道这道题跟贪心有什么关系。总而言之,思路就是起点是第0天,把第0天加入,之后有越多的补交卡,计算的距离就会越来越远,因为消除了。取遍历的最大值即可。如果补交卡的数量都大于等于没去的天数了,直接输出100。
    上代码:

    #include <iostream>
    #include <vector>
    using namespace std;
    
    int main()
    {
        int count;
        cin>>count;
    
        while(count--)
        {
            int N,M,temp;
    
            cin>>N>>M;
    
            temp = N;
    
            vector<int> a;
            a.push_back(0);
    
            while(temp--)
            {
                int day;
    
                cin>>day;
    
                a.push_back(day);
            }
            if(M>=N)
            {
                cout<<"100"<<endl;
            }
            else
            {
                int count=0,result=0;
                while(count+M+1<a.size())
                {
                    if(a[count+M+1]-a[count]>=result)
                    {
                        result=a[count+M+1]-a[count];
                    }
                    count++;
                }
                cout<<result-1<<endl;
            }
    
        }
    
    
        return 0;
    
    }

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

  • 相关阅读:
    c++调用lua
    HTTP实现长连接(TTP1.1和HTTP1.0相比较而言,最大的区别就是增加了持久连接支持Connection: keep-alive)
    C++: std::string 与 Unicode 如何结合?
    统计一下你写过多少代码
    解读jQuery中extend函数
    C#如何通过SOCKET的方式获取HTTPONLY COOKIE
    Java进阶代码
    SQLSERVER聚集索引与非聚集索引的再次研究(上)
    c,c++函数返回多个值的方法
    COM思想的背后
  • 原文地址:https://www.cnblogs.com/lightspeedsmallson/p/4785904.html
Copyright © 2011-2022 走看看