记录编号 158458 评测结果 AAAAAAAAAA
题目名称 买票 最终得分 100
用户昵称 Gravatar一個人的雨 是否通过 通过
代码语言 C++ 运行时间 0.321 s
提交时间 2015-04-15 09:15:35 内存使用 7.94 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m,a[2000000];
int h=0;
long long cost=0;
int sum=0,msum=0;
int main()
{
	freopen("tickets.in","r",stdin);
	freopen("tickets.out","w",stdout);
	cin>>n>>m;	
	for (int i=1;i<=n;++i)
	{
		scanf("%d",&a[i]);
		if (cost+a[i]<=m)
		{
			cost+=a[i];
			if (h==0) h=i;
			sum++;
			if (sum>msum) msum=sum;
		}
		else if (cost+a[i]>m)
		{
			while (true)
			{
				cost-=a[h];
				h++;
				sum--;
				if (h==i) break;
				if (cost+a[i]<=m) break;
			}
			cost+=a[i];
			sum++;
		}
	}
	cout<<msum;
	return 0;
}