HihoCoder--1051--補提交卡

題目描述:
小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
題意:
字面意思
題解
直接搞
代碼:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;

const int maxn = 100 + 5;
int a[maxn];

int main(){
    int t;
    int n,m;
    scanf("%d",&t);
    while(t--){
        scanf("%d%d",&n,&m);
        for(int i = 1; i <= n; i ++){
            scanf("%d",&a[i]);
        }
        if(n <= m) printf("100\n");
        else{
            int ans = 0;
            for(int i = 1; i <= n - m + 1; i ++){
                ans = max(ans,a[i + m] - a[i - 1] - 1);
            }
            printf("%d\n",ans);
        }
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章