样例都过了,AC*51,WA*3,求调。
重金 5 RMB,万分感谢。
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N=2e5+48;
long long n,s,a[N*2],sum;
signed main(){
cin.tie(nullptr)->sync_with_stdio(false);
cin>>n>>s;
for(int i=1;i<=n;i++){cin>>a[i];sum+=a[i];}
for(int i=1;i<=n;i++){a[i+n]=a[i];sum+=a[i+n];}
if(s%sum==0){
cout<<"Yes\n";
return 0;
}
n*=2;
s%=sum;
sum=0;
for(int i=1,j=1;i<=j&&j<=n;){
while(sum<s&&j<=n){
sum+=a[j++];
if(sum==s){cout<<"Yes\n";return 0;}
}
while(sum>s&&i<=j){
sum-=a[i++];
if(sum==s){cout<<"Yes\n";return 0;}
}
}
cout<<"No\n";
return 0;
}