原犯罪
题目描述
C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式?
输入描述:
第一行数据三个整数:n,t,c(1≤n≤2e5,0≤t≤1e9,1≤c≤n),第二行按入狱时间给出每个犯人的罪行值ai(0≤ai≤1e9)
输出描述:
一行输出答案。
示例1
输入
3 100 2
1 2 3
输出
2
#include <iOStream>
#include <cmath>
using namespace std;
int main()
{
int n,t,c;
while(cin >> n >> t >> c)
{
int i, sum = 0, cnt = 0;
int weight[n];
for(i = 0; i < n; ++i)
{
cin >> weight[i];
}
int left = 0;
for(i = left; i < (left+c); ++i)
{
sum += weight[i];
}
if(sum <= t )++cnt;
while(left<(n-c))
{
sum = sum+ weight[left+c]- weight[left];
if(sum <= t)++cnt;
++left;
}
cout<<cnt<<endl;
}
return 0;
}
相关阅读
全球首例刑事打击恶意点击软件案“上海金手指软件案”,近日移送法院正式提起公诉。2009年被告人倪某针对百度搜索广告推广系统自主
全球首例刑事打击恶意点击软件案“上海金手指软件案”,近日移送法院正式提起公诉。2009年被告人倪某针对百度搜索广告推广系统自主
全球首例刑事打击恶意点击软件案“上海金手指软件案”,近日移送法院正式提起公诉。2009年被告人倪某针对百度搜索广告推广系统自主