为啥只通过50%
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class solution{
public:
int func(string str){
vector<int> vec(str.size());
for(int i=0;i<str.size();++i){
if(str[i]>='1' && str[i]<='9'){
int val = str[i]-'0';
int left = i-1;
int right = i+1;
while(left>=0 && val>=0){
if(str[left]=='X')
vec[left] = 1;
left--;
val--;
}
val = str[i]-'0';
while(right<=str.size()-1 && val>=0){
if(str[right]=='X')
vec[right] = 1;
right++;
val--;
}
}
}
int sum = 0;
for(int i=0;i<str.size();++i){
if(vec[i]==1)
sum++;
}
return sum;
}
};
int main()
{
int N;
cin >> N;
string str;
cin >> str;
solution s;
cout << s.func(str);
return 0;
}