WA*21,看不出来哪里错了,思路也和官方题解一样。
#include<bits/stdc++.h>
using namespace std;
long long n;
long long s;
long long a[10000000+5];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n>>s;
if(s==0)
{
cout<<"No\n";
return 0;
}
long long sm=0;
for(long long i=1;i<=n;i++) cin>>a[i],sm+=a[i];
for(long long i=n+1;i<=2*n;i++)
{
a[i]=a[i-n];
}
long long cur=1;
long long ss=0;
for(long long i=1;i<=2*n;i++)
{
ss+=a[i];
if(ss>s%sm&&cur<=i) ss-=a[cur],cur++;
if(ss==s%sm)
{
cout<<"Yes\n";
return 0;
}
}
cout<<"No\n";
return 0;
}