# GETTING WA IN IITWPC4D

The problem link is : http://www.spoj.com/problems/IITWPC4D/

The solution link is : https://ideone.com/fAfVTL

I have tested my code for over 100 testcases and i found my code is working fine but still i am getting WA…

please if anyone can help me find a testcase for which my code fails… thank you

``````
int a[100010], b[100010];

int main()
{
//	ios_base::sync_with_stdio(false);
int t, n;
cin >> t;
set<int>::iterator it;
set<int>::reverse_iterator it1;
set<int> s;
for (int cs = 1; cs <= t; cs++) {
cout << "Test : " << cs << endl;
s.clear();
cin >> n;
bool f = true;
for (int i = 0; i < n; i++) {
cin >> a[i];
if (a[i] > i) {
f = false;
}
}
if (!f) {
cout << -1 << endl;
continue;
}
int x = n;
for (int i = n - 1; i >= 0; i--) {
if (a[i] == 0) {
if (!s.empty()) {
it1 = s.rbegin();
b[i] = *it1;
it = s.find(*it1);
s.erase(it);
} else {
b[i] = x--;
}
} else if (s.size() == a[i]) {
b[i] = x--;
} else if (s.size() < a[i]) {
int y = a[i] - s.size();
for (int j = 0; j < y; j++) {
s.insert(x--);
}
b[i] = x--;
} else {
int y = s.size() - a[i];
it = s.lower_bound(*s.begin() - 1 + y);
b[i] = *it;
s.erase(it);
}
}
for (int i = 0; i < n; i++) {
cout << b[i] << " ";
}
cout << endl;
}
return 0;
}

``````
//