T1糖果
题目描述
信息学课堂上,老师准备了一些糖,对于每次的提问,凡是举手要回答问题的同学都有可能拿到一颗糖,但同一个学生拿糖的时间至少要隔C秒(含C秒,第1次举手肯定能拿到糖)。已知这次课信息学老师共提问了N次,每次提问的时间为上课后的第T秒,小慧为了拿到很多糖,每次都举手了。问小慧最后拿到了多少颗糖。
输入格式
第一行两个整数,分别是N,C。
第二行N个整数,按顺序给出每次提问的时间Ti。
输出格式
一个整数,表示小慧能拿到的糖果数。
输入/输出例子1
输入:
6 5
1 3 7 8 10 12
输出:
3
样例解释
样例解释:
拿到糖的时间为:1、7、12
数据范围:
对于100%的数据,
0<N,C<=3000,0<=Ti<=100000。
参考代码
小慧要想获得最多的糖果,第一颗糖果必须要拿,后面只要到了间隔时间就获取一颗糖果,可以得到最大值,所以需要保存上一颗糖果获取的时刻,然后就行判断累加。
#include<bits/stdc++.h>
using namespace std;
int n,c,a[3005];
int main(){
cin>>n>>c;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int t=a[1],s=1;
for(int i=2;i<=n;i++){
if(t+c<=a[i]){
s++;t=a[i];
}
}
cout<<s;
return 0;
}
T2德育分
题目描述
期末到了,小慧协助班主任统计同学们本学期的德育分情况,已知学号为1~n的n个同学的德育分,小慧有一次使用特权的机会,她可以把任意连续一段学号同学的德育分同时乘以C,问小慧使用特权后,全部同学的德育分总和最多为多少分?
标签:同学,int,提问,T4,T1,2024,德育,拿到,糖果 From: https://blog.csdn.net/xuxiao156/article/details/144986001