救救孩子吧,ABC 的 D 题死活差6个点
  • 板块灌水区
  • 楼主The_End_of_GCC
  • 当前回复7
  • 已保存回复7
  • 发布时间2024/12/14 21:47
  • 上次更新2024/12/15 09:00:50
查看原帖
救救孩子吧,ABC 的 D 题死活差6个点
671415
The_End_of_GCC楼主2024/12/14 21:47

code:

#include<bits/stdc++.h>
using namespace std;
long long n,m,a[200002]={0},num=0;
int main()
{
	cin>>n>>m;
	for(int i=0;i<n;i++)
		cin>>a[i],num+=a[i];
	m%=num;
	int l=0,r=0;
	long long nownum=0;
//	cout<<m<<endl;
	while(1)
	{
		if(l>n || r>n || l>r)
			break;
		if(nownum==m)
		{
			cout<<"Yes"<<endl;
			return 0;
		}
		if(nownum<m)
			nownum+=a[r],r++;
		else if(nownum>m)
			nownum-=a[l],l++;
//		cout<<nownum<<endl;
	}
	if(nownum==m)
	{
		cout<<"Yes"<<endl;
		return 0;
	}
	if(nownum<m)
		nownum+=a[r],r++;
	else if(nownum>m)
		nownum-=a[l],l++;
	if(nownum==m)
	{
		cout<<"Yes"<<endl;
		return 0;
	}
	cout<<"No"<<endl;
	return 0;
}


提交了114514次,然后114514次都炸了6个点。。。。。ATcoder你【数据删除】炸了。。。

2024/12/14 21:47
加载中...