My code fails in one test case.
Can someone please help! Where am I going wrong?
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int preSum[1005];
int main(){
int n;
cin>>n;
int m;
cin>>m;
ll arr[n];
for(int i=0;i<n;i++)
cin>>arr[i];
memset(preSum,0,sizeof preSum);
int sum=0;
preSum[0] = 1;
for(int i=0;i<n;i++){
sum=sum+arr[i];
sum = sum%m;
sum = (sum+m)%m;
preSum[sum]++;
}
bool found=false;
for(int i=0;i<m;i++){
if(preSum[i]>1)
found=true;
}
if(found)
cout<<“YES”;
else
cout<<“NO”;
}