#include <iostream>
#include <cstdio>
#include <vector>
#include <stack>
#include <utility>
#include <algorithm>
using namespace std;
static bool cmp(const pair<int,int> &a, const pair<int,int> &b)
{
return a.first < b.first;
}
int main()
{
int arr_[] = {2225, 1729 ,1835, 951, 1143, 515, 1525, 743, 1025, 1611, 1827, 2203, 1116, 1514, 723};
int dep_[] = {2231, 2003, 2149, 2252, 2352, 2153, 1625, 1049, 1337, 1639, 2151, 2330, 1633, 1611 ,2009};
// Your code here
stack<int> s;
int n = 15;
vector<int> arr;
vector<int> dep;
for(int i=0;i<n;i++)
{
arr.push_back(arr_[i]);
dep.push_back(dep_[i]);
}
vector< pair<int,int> > v;
for(int i=0;i<n;i++)
{
v.push_back({arr[i], dep[i]});
}
sort(v.begin(),v.end(),cmp);
/* for(int i=0;i<n;i++)
{
printf("%5d,", v[i].first);
}
printf("\n");
for(int i=0;i<n;i++)
{
printf("%5d,",v[i].second);
}
printf("\n\n");
*/
// stack<int> s;
s.push(v[0].second);
int mx =1;
for(int i=1;i<n;i++)
{
while(!s.empty() && s.top() <= v[i].first)
{
s.pop();
}
stack<int> tmp;
while(!s.empty() && v[i].second > s.top())
{
tmp.push(s.top());
s.pop();
}
s.push(v[i].second);
while(!tmp.empty())
{
s.push(tmp.top());
tmp.pop();
}
mx = max(mx, (int)(s.size()));
stack<int> z = s;
while(!z.empty())
{
printf("%d,",z.top());
z.pop();
}
printf("\n\n");
// s.push(v[i].second);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKI2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHN0YWNrPgojaW5jbHVkZSA8dXRpbGl0eT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICAgc3RhdGljIGJvb2wgY21wKGNvbnN0IHBhaXI8aW50LGludD4gJmEsIGNvbnN0IHBhaXI8aW50LGludD4gJmIpCiAgICB7CiAgICAgICAgcmV0dXJuIGEuZmlyc3QgPCBiLmZpcnN0OwogICAgfQppbnQgbWFpbigpIAp7CiAgICAgICAgaW50IGFycl9bXSA9IHsyMjI1LCAxNzI5ICwxODM1LCA5NTEsIDExNDMsIDUxNSwgMTUyNSwgNzQzLCAxMDI1LCAxNjExLCAxODI3LCAyMjAzLCAxMTE2LCAxNTE0LCA3MjN9OwogICAgICAgIGludCBkZXBfW10gID0gezIyMzEsIDIwMDMsIDIxNDksIDIyNTIsIDIzNTIsIDIxNTMsIDE2MjUsIDEwNDksIDEzMzcsIDE2MzksIDIxNTEsIDIzMzAsIDE2MzMsIDE2MTEgLDIwMDl9OwogICAgICAgIC8vIFlvdXIgY29kZSBoZXJlCiAgICAgICAgCiAgICAgICAgCiAgICAgICAgc3RhY2s8aW50PiBzOwogICAgICAgIGludCBuID0gMTU7CiAgICAgICAgdmVjdG9yPGludD4gYXJyOwogICAgICAgIHZlY3RvcjxpbnQ+IGRlcDsKICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgICAgIHsKICAgICAgICAgICAgYXJyLnB1c2hfYmFjayhhcnJfW2ldKTsKICAgICAgICAgICAgZGVwLnB1c2hfYmFjayhkZXBfW2ldKTsKICAgICAgICB9CiAgICAgICAgdmVjdG9yPCBwYWlyPGludCxpbnQ+ID4gdjsKICAgICAgICAKICAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKQogICAgICAgIHsKICAgICAgICAgICAgdi5wdXNoX2JhY2soe2FycltpXSwgZGVwW2ldfSk7CiAgICAgICAgfQogICAgICAgIHNvcnQodi5iZWdpbigpLHYuZW5kKCksY21wKTsKICAgICAgICAKICAgICAgICAKICAgICAgIC8qIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIiU1ZCwiLCB2W2ldLmZpcnN0KTsKICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJcbiIpOwogICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICAgICAgewogICAgICAgICAgICBwcmludGYoIiU1ZCwiLHZbaV0uc2Vjb25kKTsKICAgICAgICAgICAgCiAgICAgICAgfQogICAgICAgIHByaW50ZigiXG5cbiIpOwogICAgICAgIAogICAgICAgICovCiAgICAgIC8vICBzdGFjazxpbnQ+IHM7CiAgICAgICAgcy5wdXNoKHZbMF0uc2Vjb25kKTsKICAgICAgICBpbnQgbXggPTE7CiAgICAgICAgZm9yKGludCBpPTE7aTxuO2krKykKICAgICAgICB7CiAgIAogICAgICAgICAgICB3aGlsZSghcy5lbXB0eSgpICYmIHMudG9wKCkgPD0gdltpXS5maXJzdCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgcy5wb3AoKTsKICAgICAgICAgICAgfSAgIAogICAgICAgICAgICBzdGFjazxpbnQ+IHRtcDsKICAgICAgICAgICAgd2hpbGUoIXMuZW1wdHkoKSAmJiB2W2ldLnNlY29uZCA+IHMudG9wKCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRtcC5wdXNoKHMudG9wKCkpOwogICAgICAgICAgICAgICAgcy5wb3AoKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9CgogICAgICAgICAgICBzLnB1c2godltpXS5zZWNvbmQpOwogICAgICAgICAgICAKICAgICAgICAgICAgd2hpbGUoIXRtcC5lbXB0eSgpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzLnB1c2godG1wLnRvcCgpKTsKICAgICAgICAgICAgICAgIHRtcC5wb3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBteCA9IG1heChteCwgKGludCkocy5zaXplKCkpKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIAogICAgICAgICAgICBzdGFjazxpbnQ+IHogPSBzOwogICAgICAgICAgICB3aGlsZSghei5lbXB0eSgpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBwcmludGYoIiVkLCIsei50b3AoKSk7CiAgICAgICAgICAgICAgICB6LnBvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHByaW50ZigiXG5cbiIpOwogICAgICAgICAgIC8vIHMucHVzaCh2W2ldLnNlY29uZCk7CiAgICAgICAgfQogICAgICAgIHJldHVybiAwOwp9
2009,2153,
1049,2009,2153,
1049,2009,2153,2252,
1049,1337,2009,2153,2252,
1337,1633,2009,2153,2252,
1337,1633,2009,2153,2252,2352,
1611,1633,2009,2153,2252,2352,
1611,1625,1633,2009,2153,2252,2352,
1625,1633,1639,2009,2153,2252,2352,
2003,2009,2153,2252,2352,
2003,2009,2151,2153,2252,2352,
2003,2009,2149,2151,2153,2252,2352,
2252,2330,2352,
2231,2252,2330,2352,