# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
46318 | rajarshi_basu | Teams (IOI15_teams) | C++14 | 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.
#include <iostream>
#include <cmath>
#include <vector>
#include <stack>
#include <queue>
#include <algorithm>
#include <functional>
#define FOR(i,n) for(int i=0;i<n;i++)
#define FORE(i,a,b) for(int i=a;i<=b;i++)
#define ll long long int
#define pb(a) push_back(a)
#define vi vector<int>
#define ii pair<int,int>
#define iii pair<pair<int,int>, int>
#define mp(a,b) make_pair(a,b)
using namespace std;
int n;
int* a;
int* b;
struct info{
int st;
int end;
};
info* arr;
bool comp(info& a,info& b){
return a.end > b.end;
}
void init(int N,int* A,int* B){
n=N;
a = A;
b = B;
info* arr = new info[n];
FOR(i,n)arr[i].st = a[i];
FOR(i,n)arr[i].end = b[i];
sort(arr,arr+n);
}
int call(int m,int* k){
priority_queue<info, vector<info>, comp> pq;
int PTR = 0;
FOR(i,m){
while(arr[PTR].st<=k[i])pq.push(arr[PTR++]);
int ctr = k[i];
while(!pq.empty() && pq.top().end < ctr)pq.pop();
while(!pq.empty() && pq.top().end < k[i] && ctr > 0){
pq.pop();
ctr--;
}
if(ctr > 0)return 0;
}
return 1;
}
Compilation message (stderr)
teams.cpp: In function 'bool comp(info&, info&)': teams.cpp:28:26: warning: declaration of 'b' shadows a global declaration [-Wshadow] bool comp(info& a,info& b){ ^ teams.cpp:22:6: note: shadowed declaration is here int* b; ^ teams.cpp:28:26: warning: declaration of 'a' shadows a global declaration [-Wshadow] bool comp(info& a,info& b){ ^ teams.cpp:21:6: note: shadowed declaration is here int* a; ^ teams.cpp: In function 'void init(int, int*, int*)': teams.cpp:35:9: warning: declaration of 'arr' shadows a global declaration [-Wshadow] info* arr = new info[n]; ^~~ teams.cpp:27:7: note: shadowed declaration is here info* arr; ^~~ teams.cpp: In function 'int call(int, int*)': teams.cpp:42:42: error: type/value mismatch at argument 3 in template parameter list for 'template<class _Tp, class _Sequence, class _Compare> class std::priority_queue' priority_queue<info, vector<info>, comp> pq; ^ teams.cpp:42:42: note: expected a type, got 'comp' teams.cpp:45:32: error: request for member 'push' in 'pq', which is of non-class type 'int' while(arr[PTR].st<=k[i])pq.push(arr[PTR++]); ^~~~ teams.cpp:47:15: error: request for member 'empty' in 'pq', which is of non-class type 'int' while(!pq.empty() && pq.top().end < ctr)pq.pop(); ^~~~~ teams.cpp:47:29: error: request for member 'top' in 'pq', which is of non-class type 'int' while(!pq.empty() && pq.top().end < ctr)pq.pop(); ^~~ teams.cpp:47:48: error: request for member 'pop' in 'pq', which is of non-class type 'int' while(!pq.empty() && pq.top().end < ctr)pq.pop(); ^~~ teams.cpp:48:15: error: request for member 'empty' in 'pq', which is of non-class type 'int' while(!pq.empty() && pq.top().end < k[i] && ctr > 0){ ^~~~~ teams.cpp:48:29: error: request for member 'top' in 'pq', which is of non-class type 'int' while(!pq.empty() && pq.top().end < k[i] && ctr > 0){ ^~~ teams.cpp:49:10: error: request for member 'pop' in 'pq', which is of non-class type 'int' pq.pop(); ^~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'constexpr bool __gnu_cxx::__ops::_Iter_less_iter::operator()(_Iterator1, _Iterator2) const [with _Iterator1 = info*; _Iterator2 = info*]': /usr/include/c++/7/bits/stl_algo.h:81:17: required from 'void std::__move_median_to_first(_Iterator, _Iterator, _Iterator, _Iterator, _Compare) [with _Iterator = info*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:1921:34: required from '_RandomAccessIterator std::__unguarded_partition_pivot(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = info*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:1953:38: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = info*; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:1968:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = info*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:4836:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = info*]' teams.cpp:38:17: required from here /usr/include/c++/7/bits/predefined_ops.h:43:23: error: no match for 'operator<' (operand types are 'info' and 'info') { return *__it1 < *__it2; } ~~~~~~~^~~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/stl_iterator.h:888:5: note: candidate: template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&) operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:888:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/predefined_ops.h:43:23: note: 'info' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>' { return *__it1 < *__it2; } ~~~~~~~^~~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/stl_iterator.h:895:5: note: candidate: template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&) operator<(const __normal_iterator<_Iterator, _Container>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:895:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/predefined_ops.h:43:23: note: 'info' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' { return *__it1 < *__it2; } ~~~~~~~^~~~~~~~ /usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Val_less_iter::operator()(_Value&, _Iterator) const [with _Value = info; _Iterator = info*]': /usr/include/c++/7/bits/stl_algo.h:1828:20: required from 'void std::__unguarded_linear_insert(_RandomAccessIterator, _Compare) [with _RandomAccessIterator = info*; _Compare = __gnu_cxx::__ops::_Val_less_iter]' /usr/include/c++/7/bits/stl_algo.h:1855:36: required from 'void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = info*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:1885:25: required from 'void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = info*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:1971:31: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = info*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:4836:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = info*]' teams.cpp:38:17: required from here /usr/include/c++/7/bits/predefined_ops.h:90:22: error: no match for 'operator<' (operand types are 'info' and 'info') { return __val < *__it; } ~~~~~~^~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/stl_iterator.h:888:5: note: candidate: template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&) operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:888:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/predefined_ops.h:90:22: note: 'info' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>' { return __val < *__it; } ~~~~~~^~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/stl_iterator.h:895:5: note: candidate: template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&) operator<(const __normal_iterator<_Iterator, _Container>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:895:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/predefined_ops.h:90:22: note: 'info' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' { return __val < *__it; } ~~~~~~^~~~~~~ /usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_less_val::operator()(_Iterator, _Value&) const [with _Iterator = info*; _Value = info]': /usr/include/c++/7/bits/stl_heap.h:133:48: required from 'void std::__push_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare&) [with _RandomAccessIterator = info*; _Distance = long int; _Tp = info; _Compare = __gnu_cxx::__ops::_Iter_less_val]' /usr/include/c++/7/bits/stl_heap.h:237:23: required from 'void std::__adjust_heap(_RandomAccessIterator, _Distance, _Distance, _Tp, _Compare) [with _RandomAccessIterator = info*; _Distance = long int; _Tp = info; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_heap.h:342:22: required from 'void std::__make_heap(_RandomAccessIterator, _RandomAccessIterator, _Compare&) [with _RandomAccessIterator = info*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:1672:23: required from 'void std::__heap_select(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = info*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:1933:25: required from 'void std::__partial_sort(_RandomAccessIterator, _RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = info*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:1948:27: required from 'void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size, _Compare) [with _RandomAccessIterator = info*; _Size = long int; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:1968:25: required from 'void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = info*; _Compare = __gnu_cxx::__ops::_Iter_less_iter]' /usr/include/c++/7/bits/stl_algo.h:4836:18: required from 'void std::sort(_RAIter, _RAIter) [with _RAIter = info*]' teams.cpp:38:17: required from here /usr/include/c++/7/bits/predefined_ops.h:65:22: error: no match for 'operator<' (operand types are 'info' and 'info') { return *__it < __val; } ~~~~~~^~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/stl_iterator.h:888:5: note: candidate: template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&) operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:888:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'info' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>' { return *__it < __val; } ~~~~~~^~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/stl_iterator.h:895:5: note: candidate: template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&) operator<(const __normal_iterator<_Iterator, _Container>& __lhs, ^~~~~~~~ /usr/include/c++/7/bits/stl_iterator.h:895:5: note: template argument deduction/substitution failed: In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, from /usr/include/c++/7/ostream:38, from /usr/include/c++/7/iostream:39, from teams.cpp:1: /usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'info' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>' { return *__it < __val; } ~~~~~~^~~~~~~