# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1062389 | kunzaZa183 | Port Facility (JOI17_port_facility) | C++17 | Compilation error | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//Saved
asjaslf
#include <bits/stdc++.h>
using namespace std;
int main() {
// cin.tie(0)->sync_with_stdio(0);
// cin.exceptions(cin.failbit);
int n;
cin >> n;
vector<pair<int, int>> vpii(n);
struct event {
int tim;
bool ins;
int val;
event() { tim = -1, ins = 0, val = -1; }
event(int a, int b, int c) { tim = a, ins = b, val = c; }
bool operator<(event x) const { return tim < x.tim; }
};
vector<event> times; // tim id
for (int i = 0; i < vpii.size(); i++) {
cin >> vpii[i].first >> vpii[i].second;
times.emplace_back(vpii[i].first, 1, i);
times.emplace_back(vpii[i].second, 0, i);
}
sort(times.begin(), times.end());
vector<int> dsu(2 * n);
iota(dsu.begin(), dsu.end(), 0);
function<int(int)> par = [&](int cur) {
if (dsu[cur] == cur)
return cur;
dsu[cur] = par(dsu[cur]);
return dsu[cur];
};
struct kun {
int head, tim;
mutable set<kun>::iterator go;
kun() { head = 0, tim = 0; }
kun(int a, int b) { head = a, tim = b; }
bool operator<(kun x) const { return tim < x.tim; }
};
set<kun, less<>> spii; // tim, pile
for (auto a : times) {
cout << a.tim << "\n";
for (auto b : spii) {
cout << b.tim << ' ' << b.head << "\n";
}
if (!spii.empty())
if (spii.begin()->tim < a.tim) {
spii.erase(spii.begin());
}
if (a.ins) {
kun tmp(a.val, a.tim);
auto it = spii.upper_bound(tmp);
if (it == spii.begin()) {
auto it = spii.insert(tmp).first;
it->go = it;
continue;
}
while (1) {
if (it == spii.begin()) {
it->go = spii.insert(tmp).first;
it->go->go = it;
break;
}
it--;
dsu[par(it->head)] = par(tmp.head + n);
dsu[par(it->head + n)] = par(tmp.head);
cout << "NOT " << it->head + 1 << ' ' << tmp.head + 1 << "\n";
}
}
}
for (int i = 0; i < n; i++)
if (par(i) == par(i + n)) {
cout << "0\n";
return 0;
}
set<int> si;
for (int i = 0; i < 2 * n; i++)
si.insert(par(i));
long long ans = 1;
const int MOD = 1e9 + 7;
for (int i = 0; i < si.size() / 2; i++) {
ans *= 2;
ans %= MOD;
}
cout << ans << "\n";
}
Compilation message (stderr)
port_facility.cpp:2:1: error: 'asjaslf' does not name a type 2 | asjaslf | ^~~~~~~ In file included from /usr/include/c++/10/cmath:43, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/ext/type_traits.h:162:35: error: 'bool __gnu_cxx::__is_null_pointer' redeclared as different kind of entity 162 | __is_null_pointer(std::nullptr_t) | ^ /usr/include/c++/10/ext/type_traits.h:157:5: note: previous declaration 'template<class _Type> bool __gnu_cxx::__is_null_pointer(_Type)' 157 | __is_null_pointer(_Type) | ^~~~~~~~~~~~~~~~~ /usr/include/c++/10/ext/type_traits.h:162:26: error: 'nullptr_t' is not a member of 'std' 162 | __is_null_pointer(std::nullptr_t) | ^~~~~~~~~ In file included from /usr/include/c++/10/bits/move.h:57, from /usr/include/c++/10/bits/stl_pair.h:59, from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/type_traits:402:26: error: 'std::size_t' has not been declared 402 | template<typename _Tp, std::size_t _Size> | ^~~ /usr/include/c++/10/type_traits:403:25: error: '_Size' was not declared in this scope 403 | struct is_array<_Tp[_Size]> | ^~~~~ /usr/include/c++/10/type_traits:403:31: error: template argument 1 is invalid 403 | struct is_array<_Tp[_Size]> | ^ /usr/include/c++/10/type_traits:508:42: error: 'nullptr_t' is not a member of 'std' 508 | struct __is_null_pointer_helper<std::nullptr_t> | ^~~~~~~~~ /usr/include/c++/10/type_traits:508:51: error: template argument 1 is invalid 508 | struct __is_null_pointer_helper<std::nullptr_t> | ^ /usr/include/c++/10/type_traits:1351:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1351 | : public integral_constant<std::size_t, alignof(_Tp)> | ^~~~~~ In file included from /usr/include/stdlib.h:31, from /usr/include/c++/10/bits/std_abs.h:38, from /usr/include/c++/10/cmath:47, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/10/bits/move.h:57, from /usr/include/c++/10/bits/stl_pair.h:59, from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/type_traits:1351:57: error: template argument 1 is invalid 1351 | : public integral_constant<std::size_t, alignof(_Tp)> | ^ /usr/include/c++/10/type_traits:1351:57: note: invalid template non-type parameter /usr/include/c++/10/type_traits:1360:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1360 | : public integral_constant<std::size_t, 0> { }; | ^~~~~~ In file included from /usr/include/stdlib.h:31, from /usr/include/c++/10/bits/std_abs.h:38, from /usr/include/c++/10/cmath:47, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/10/bits/move.h:57, from /usr/include/c++/10/bits/stl_pair.h:59, from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/type_traits:1360:46: error: template argument 1 is invalid 1360 | : public integral_constant<std::size_t, 0> { }; | ^ /usr/include/c++/10/type_traits:1360:46: note: invalid template non-type parameter /usr/include/c++/10/type_traits:1362:26: error: 'std::size_t' has not been declared 1362 | template<typename _Tp, std::size_t _Size> | ^~~ /usr/include/c++/10/type_traits:1363:21: error: '_Size' was not declared in this scope 1363 | struct rank<_Tp[_Size]> | ^~~~~ /usr/include/c++/10/type_traits:1363:27: error: template argument 1 is invalid 1363 | struct rank<_Tp[_Size]> | ^ /usr/include/c++/10/type_traits:1364:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1364 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; | ^~~~~~ In file included from /usr/include/stdlib.h:31, from /usr/include/c++/10/bits/std_abs.h:38, from /usr/include/c++/10/cmath:47, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/10/bits/move.h:57, from /usr/include/c++/10/bits/stl_pair.h:59, from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/type_traits:1364:65: error: template argument 1 is invalid 1364 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; | ^ /usr/include/c++/10/type_traits:1364:65: note: invalid template non-type parameter /usr/include/c++/10/type_traits:1368:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1368 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; | ^~~~~~ In file included from /usr/include/stdlib.h:31, from /usr/include/c++/10/bits/std_abs.h:38, from /usr/include/c++/10/cmath:47, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/10/bits/move.h:57, from /usr/include/c++/10/bits/stl_pair.h:59, from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/type_traits:1368:65: error: template argument 1 is invalid 1368 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; | ^ /usr/include/c++/10/type_traits:1368:65: note: invalid template non-type parameter /usr/include/c++/10/type_traits:1373:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1373 | : public integral_constant<std::size_t, 0> { }; | ^~~~~~ In file included from /usr/include/stdlib.h:31, from /usr/include/c++/10/bits/std_abs.h:38, from /usr/include/c++/10/cmath:47, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/10/bits/move.h:57, from /usr/include/c++/10/bits/stl_pair.h:59, from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/type_traits:1373:46: error: template argument 1 is invalid 1373 | : public integral_constant<std::size_t, 0> { }; | ^ /usr/include/c++/10/type_traits:1373:46: note: invalid template non-type parameter /usr/include/c++/10/type_traits:1375:42: error: 'std::size_t' has not been declared 1375 | template<typename _Tp, unsigned _Uint, std::size_t _Size> | ^~~ /usr/include/c++/10/type_traits:1376:23: error: '_Size' was not declared in this scope 1376 | struct extent<_Tp[_Size], _Uint> | ^~~~~ /usr/include/c++/10/type_traits:1376:36: error: template argument 1 is invalid 1376 | struct extent<_Tp[_Size], _Uint> | ^ /usr/include/c++/10/type_traits:1377:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1377 | : public integral_constant<std::size_t, | ^~~~~~ In file included from /usr/include/stdlib.h:31, from /usr/include/c++/10/bits/std_abs.h:38, from /usr/include/c++/10/cmath:47, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/10/bits/move.h:57, from /usr/include/c++/10/bits/stl_pair.h:59, from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/type_traits:1378:24: error: '_Size' was not declared in this scope 1378 | _Uint == 0 ? _Size : extent<_Tp, | ^~~~~ /usr/include/c++/10/type_traits:1379:28: error: template argument 1 is invalid 1379 | _Uint - 1>::value> | ^ /usr/include/c++/10/type_traits:1379:28: note: invalid template non-type parameter /usr/include/c++/10/type_traits:1384:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'? 1384 | : public integral_constant<std::size_t, | ^~~~~~ In file included from /usr/include/stdlib.h:31, from /usr/include/c++/10/bits/std_abs.h:38, from /usr/include/c++/10/cmath:47, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here 209 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ In file included from /usr/include/c++/10/bits/move.h:57, from /usr/include/c++/10/bits/stl_pair.h:59, from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/type_traits:1386:31: error: template argument 1 is invalid 1386 | _Uint - 1>::value> | ^ /usr/include/c++/10/type_traits:1386:31: note: invalid template non-type parameter /usr/include/c++/10/type_traits:1975:26: error: 'std::size_t' has not been declared 1975 | template<typename _Tp, std::size_t _Size> | ^~~ /usr/include/c++/10/type_traits:1976:30: error: '_Size' was not declared in this scope 1976 | struct remove_extent<_Tp[_Size]> | ^~~~~ /usr/include/c++/10/type_traits:1976:36: error: template argument 1 is invalid 1976 | struct remove_extent<_Tp[_Size]> | ^ /usr/include/c++/10/type_traits:1988:26: error: 'std::size_t' has not been declared 1988 | template<typename _Tp, std::size_t _Size> | ^~~ /usr/include/c++/10/type_traits:1989:35: error: '_Size' was not declared in this scope 1989 | struct remove_all_extents<_Tp[_Size]> | ^~~~~ /usr/include/c++/10/type_traits:1989:41: error: template argument 1 is invalid 1989 | struct remove_all_extents<_Tp[_Size]> | ^ /usr/include/c++/10/type_traits:2047:12: error: 'std::size_t' has not been declared 2047 | template<std::size_t _Len> | ^~~ /usr/include/c++/10/type_traits:2052:23: error: '_Len' was not declared in this scope 2052 | unsigned char __data[_Len]; | ^~~~ /usr/include/c++/10/type_traits:2067:12: error: 'std::size_t' has not been declared 2067 | template<std::size_t _Len, std::size_t _Align = | ^~~ /usr/include/c++/10/type_traits:2067:30: error: 'std::size_t' has not been declared 2067 | template<std::size_t _Len, std::size_t _Align = | ^~~ /usr/include/c++/10/type_traits:2068:48: error: '_Len' was not declared in this scope 2068 | __alignof__(typename __aligned_storage_msa<_Len>::__type)> | ^~~~ /usr/include/c++/10/type_traits:2068:52: error: template argument 1 is invalid 2068 | __alignof__(typename __aligned_storage_msa<_Len>::__type)> | ^ /usr/include/c++/10/type_traits:2073:23: error: '_Len' was not declared in this scope 2073 | unsigned char __data[_Len]; | ^~~~ /usr/include/c++/10/type_traits:2074:37: error: '_Align' was not declared in this scope 2074 | struct __attribute__((__aligned__((_Align)))) { } __align; | ^~~~~~ In file included from /usr/include/c++/10/bits/stl_algobase.h:64, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/bits/stl_pair.h:92:12: error: 'std::size_t' has not been declared 92 | template<std::size_t...> | ^~~ /usr/include/c++/10/bits/stl_pair.h:449:36: error: 'std::size_t' has not been declared 449 | template<typename... _Args1, std::size_t... _Indexes1, | ^~~ /usr/include/c++/10/bits/stl_pair.h:450:36: error: 'std::size_t' has not been declared 450 | typename... _Args2, std::size_t... _Indexes2> | ^~~ /usr/include/c++/10/bits/stl_pair.h:453:27: error: '_Indexes1' was not declared in this scope 453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); | ^~~~~~~~~ /usr/include/c++/10/bits/stl_pair.h:453:36: error: expected parameter pack before '...' 453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); | ^~~ /usr/include/c++/10/bits/stl_pair.h:453:39: error: template argument 1 is invalid 453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); | ^ /usr/include/c++/10/bits/stl_pair.h:453:55: error: '_Indexes2' was not declared in this scope 453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); | ^~~~~~~~~ /usr/include/c++/10/bits/stl_pair.h:453:64: error: expected parameter pack before '...' 453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); | ^~~ /usr/include/c++/10/bits/stl_pair.h:453:67: error: template argument 1 is invalid 453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); | ^ In file included from /usr/include/c++/10/bits/stl_algobase.h:65, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/bits/stl_iterator_base_types.h:125:67: error: 'ptrdiff_t' does not name a type 125 | template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, | ^~~~~~~~~ In file included from /usr/include/c++/10/bits/stl_algobase.h:65, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/bits/stl_iterator_base_types.h:1:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? +++ |+#include <cstddef> 1 | // Types used in iterator implementation -*- C++ -*- In file included from /usr/include/c++/10/bits/stl_algobase.h:65, from /usr/include/c++/10/bits/specfun.h:45, from /usr/include/c++/10/cmath:1927, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41, from port_facility.cpp:3: /usr/include/c++/10/bits/stl_iterator_base_types.h:214:15: error: 'ptrdiff_t' does not name a type 214 | typedef ptrdiff_t difference_type; | ^~~~~~~~~ /usr/include/c++/10/bits/stl_iterator_base_types.h:214:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'? /usr/include/c++/10/bits/stl_iterator_base_types.h:225:15: error: 'ptrdiff_t' does not name a type 225 | typedef ptrdiff