#include <iostream>
#include <algorithm>
#include <numeric>
using namespace std;
bool g(int *t, int n)
{
if ( n == 0 )
return false;
std::sort(t, t + n);
return (t[0] == 1) &&
(std::distance(t, std::unique(t, t + n)) == n) &&
(std::accumulate(t, t + n, 0) == (n * (n + 1)) / 2);
}
int main()
{
int arr[] = {1,2,3,4,5,6,7};
std::cout << g(arr, 7);
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxhbGdvcml0aG0+CiAgICAjaW5jbHVkZSA8bnVtZXJpYz4KICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CgogICAgYm9vbCBnKGludCAqdCwgaW50IG4pCiAgICB7CiAgICAJaWYgKCBuID09IDAgKQogICAgCSAgIHJldHVybiBmYWxzZTsKICAgIAlzdGQ6OnNvcnQodCwgdCArIG4pOwogICAgCXJldHVybiAodFswXSA9PSAxKSAmJgoJCQkJKHN0ZDo6ZGlzdGFuY2UodCwgc3RkOjp1bmlxdWUodCwgdCArIG4pKSA9PSBuKSAmJgogICAgICAgICAgCQkoc3RkOjphY2N1bXVsYXRlKHQsIHQgKyBuLCAwKSA9PSAobiAqIChuICsgMSkpIC8gMik7CiAgICB9CgogICAgaW50IG1haW4oKQogICAgewogICAgICAgaW50IGFycltdID0gezEsMiwzLDQsNSw2LDd9OwogICAgICAgc3RkOjpjb3V0IDw8IGcoYXJyLCA3KTsKICAgIH0=