fork download
  1.  
  2. #include <bits/stdc++.h>
  3. #include <bitset>
  4.  
  5. using namespace std;
  6. #define int long long
  7. #define dd double
  8. #define ld long double
  9. #define ull unsigned long long
  10. #define yes cout << "YES\n"
  11. #define no cout << "NO\n"
  12. #define el "\n"
  13. #define Arwa ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  14. #define fix(x) cout << fixed << setprecision(x)
  15. #define all(v) v.begin(),v.end()
  16. #define dpp(arr,val) memset(arr,val,sizeof(arr))
  17. #define mod 1e9+7
  18. const int N = 1e5 + 5;
  19. //todo اى ويل بريبير ماى بيبرز تو بى ذا بيست ان زيس وورلد
  20.  
  21.  
  22. void HereWeGoAgain()
  23. {
  24. int n,sum=0,mx=0;
  25. cin>>n;
  26. string s;
  27. cin>>s;
  28. map<int,int>mp;
  29. map<int,bool>mp2;
  30. bool f=0;
  31. for(int i=1;i<s.length();i++)
  32. {
  33. mp.clear();
  34. string x,v;
  35. x=s.substr(0,i);
  36. sum+=(s[i-1]-'0');
  37. mp[sum]++;
  38. //cout<<x<<' '<<sum<<el;
  39. int j=i,sum2=0,count=1,length=x.length();
  40. while(j<s.length())
  41. {
  42. v+=s.substr(j,1);
  43. sum2+=(s[j]-'0');
  44. //cout<<v<<' '<<sum2<<el;
  45. if(sum2==sum)
  46. {
  47. mp[sum2]++;
  48. if(length+v.length()==s.length())
  49. {
  50. if(mp[sum]==count+1)
  51. {
  52. yes; f=1; break;
  53. }
  54. }
  55. sum2=0;
  56. length+=v.length();
  57. v="";
  58. count++;
  59. }
  60. if(f) break;
  61. j++;
  62. }
  63. }
  64. if(!f) no;
  65. }
  66. int32_t main()
  67. {
  68.  
  69. Arwa
  70. int t=1;
  71. //cin>>t;
  72. for(int i=1;i<=t;i++)
  73. {
  74. HereWeGoAgain();
  75. }
  76. return 0;
  77. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
NO