#include <iostream>
#include <algorithm>
#include "vector"
#include "string"
using namespace std;
vector<int> diStringMatch(string S)
{
vector<int> v;
int length = S.length();
int array[1000000] = { 0 };
for (int i = 0; i <=length; i++)
{
array[i] = i;
}
int *l = &array[0];
int *r = &array[length];
for (int k = 0; k <= length &&(l<=r); k++)
{
if (S[k] == 'I')
{
v.push_back(*l);
l++;
}
if (S[k] == 'D')
{
v.push_back(*r);
r--;
}
if (l == r)
{
v.push_back(*r);
break;
}
}
return v;
}
int main()
{
string S = "IDID";
vector<int> a = diStringMatch(S);
vector<int>::iterator it;
for (it = a.begin(); it != a.end(); it++)
{
cout << *it << " ";
}
system("pause");
return 0;
}