Submission #256587

#TimeUsernameProblemLanguageResultExecution timeMemory
256587ElyesChaabouniVudu (COCI15_vudu)C++14
Compilation error
0 ms0 KiB
/*#pragma GCC optimize("O3") #pragma GCC target ("avx2") #pragma GCC optimization ("O3") #pragma GCC optimization ("unroll-loops")*/ #include<bits/stdc++.h> //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> //#define ordered_set tree<int, null_type,less<int >, rb_tree_tag,tree_order_statistics_node_update> #define eps 1e-9 #define MOD1 998244353 #define MOD2 1000000007 #define INV_10 299473306 #define INF 1000000001 #define PI 3.14159265358979323846 using namespace std; int main() { ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); int n; cin >> n; vector<pair<long long, int> >v(n); //cout << n << '\n'; for(int i = 0; i < n; i++) cin >> v[i]; int p; cin >> p; long long sum=0, cu=0, ans=0; for(int i = n-1; i >= 0; i--) { sum+=a[i]; v.push_back(make_pair(sum-cu, i)); //cout << here[i] << ' '; cu+=p; } //cout << '\n'; sort(v.begin(), v.end()); int m[n]; for(int i = 0; i < n; i++) { m[v[i].second]=i; } int pp=1; while(pp <= n) pp*=2; cu=0; int tree[2*p+1]; for(int i = 0; i <2*p+1; i++) tree[i]=0; for(int i = p; i <= p+n-1; i++) tree[i]=1; for(int i = p-1; i >= 1; i--) tree[i]=tree[2*i]+tree[2*i+1]; sum=0; for(int i = n-1; i >= 0; i--) { vector<pair<long long, int> >::iterator it=lower_bound(v.begin(), v.end(), make_pair(p+sum-cu, -1)); if(it!=v.end()) { int x=(it-v.begin())+p, y=n-1+p; while(x <= y) { if(x%2==1) { ans+=tree[x]; x++; } if(y%2==0) { ans+=tree[y]; y--; } x/=2; y/=2; } } //cout << s.order_of_key(*s.lower_bound(make_pair(p+pr-cu, -1))) << '\n'; sum+=a[i]; int x=m[i]+p; while(x >= 1) { tree[x]--; x/=2; } cu+=p; } cout << ans << '\n'; //printf("%lld", ans); }

Compilation message (stderr)

vudu.cpp: In function 'int main()':
vudu.cpp:24:7: error: no match for 'operator>>' (operand types are 'std::istream {aka std::basic_istream<char>}' and '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}')
   cin >> v[i];
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from vudu.cpp:5:
/usr/include/c++/7/istream:120:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(__istream_type& (*__pf)(__istream_type&))
       ^~~~~~~~
/usr/include/c++/7/istream:120:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&) {aka std::basic_istream<char>& (*)(std::basic_istream<char>&)}'
/usr/include/c++/7/istream:124:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<char>]
       operator>>(__ios_type& (*__pf)(__ios_type&))
       ^~~~~~~~
/usr/include/c++/7/istream:124:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}'
/usr/include/c++/7/istream:131:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(ios_base& (*__pf)(ios_base&))
       ^~~~~~~~
/usr/include/c++/7/istream:131:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'std::ios_base& (*)(std::ios_base&)'
/usr/include/c++/7/istream:168:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(bool& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:168:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'bool&'
/usr/include/c++/7/istream:172:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]
       operator>>(short& __n);
       ^~~~~~~~
/usr/include/c++/7/istream:172:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'short int&'
/usr/include/c++/7/istream:175:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(unsigned short& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:175:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'short unsigned int&'
/usr/include/c++/7/istream:179:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]
       operator>>(int& __n);
       ^~~~~~~~
/usr/include/c++/7/istream:179:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'int&'
/usr/include/c++/7/istream:182:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(unsigned int& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:182:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'unsigned int&'
/usr/include/c++/7/istream:186:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:186:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'long int&'
/usr/include/c++/7/istream:190:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(unsigned long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:190:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'long unsigned int&'
/usr/include/c++/7/istream:195:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(long long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:195:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'long long int&'
/usr/include/c++/7/istream:199:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(unsigned long long& __n)
       ^~~~~~~~
/usr/include/c++/7/istream:199:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'long long unsigned int&'
/usr/include/c++/7/istream:214:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(float& __f)
       ^~~~~~~~
/usr/include/c++/7/istream:214:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'float&'
/usr/include/c++/7/istream:218:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(double& __f)
       ^~~~~~~~
/usr/include/c++/7/istream:218:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'double&'
/usr/include/c++/7/istream:222:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(long double& __f)
       ^~~~~~~~
/usr/include/c++/7/istream:222:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'long double&'
/usr/include/c++/7/istream:235:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>]
       operator>>(void*& __p)
       ^~~~~~~~
/usr/include/c++/7/istream:235:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'void*&'
/usr/include/c++/7/istream:259:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>]
       operator>>(__streambuf_type* __sb);
       ^~~~~~~~
/usr/include/c++/7/istream:259:7: note:   no known conversion for argument 1 from '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' to 'std::basic_istream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}'
In file included from /usr/include/c++/7/string:53:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from vudu.cpp:5:
/usr/include/c++/7/bits/basic_string.tcc:1465:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator>>(basic_istream<_CharT, _Traits>& __in,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.tcc:1465:5: note:   template argument deduction/substitution failed:
vudu.cpp:24:13: note:   '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}' is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>'
   cin >> v[i];
             ^
In file included from /usr/include/c++/7/istream:991:0,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from vudu.cpp:5:
/usr/include/c++/7/bits/istream.tcc:963:5: note: candidate: template<class _CharT2, class _Traits2> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT2*)
     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
     ^~~~~~~~
/usr/include/c++/7/bits/istream.tcc:963:5: note:   template argument deduction/substitution failed:
vudu.cpp:24:13: note:   mismatched types '_CharT2*' and 'std::pair<long long int, int>'
   cin >> v[i];
             ^
In file included from /usr/include/c++/7/istream:991:0,
                 from /usr/include/c++/7/sstream:38,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from vudu.cpp:5:
/usr/include/c++/7/bits/istream.tcc:931:5: note: candidate: template<class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, _CharT&)
     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
     ^~~~~~~~
/usr/include/c++/7/bits/istream.tcc:931:5: note:   template argument deduction/substitution failed:
vudu.cpp:24:13: note:   deduced conflicting types for parameter '_CharT' ('char' and '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}')
   cin >> v[i];
             ^
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from vudu.cpp:5:
/usr/include/c++/7/istream:756:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char&)
     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
     ^~~~~~~~
/usr/include/c++/7/istream:756:5: note:   template argument deduction/substitution failed:
vudu.cpp:24:13: note:   cannot convert 'v.std::vector<std::pair<long long int, int> >::operator[](((std::vector<std::pair<long long int, int> >::size_type)i))' (type '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}') to type 'unsigned char&'
   cin >> v[i];
             ^
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from vudu.cpp:5:
/usr/include/c++/7/istream:761:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char&)
     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
     ^~~~~~~~
/usr/include/c++/7/istream:761:5: note:   template argument deduction/substitution failed:
vudu.cpp:24:13: note:   cannot convert 'v.std::vector<std::pair<long long int, int> >::operator[](((std::vector<std::pair<long long int, int> >::size_type)i))' (type '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}') to type 'signed char&'
   cin >> v[i];
             ^
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from vudu.cpp:5:
/usr/include/c++/7/istream:803:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, unsigned char*)
     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
     ^~~~~~~~
/usr/include/c++/7/istream:803:5: note:   template argument deduction/substitution failed:
vudu.cpp:24:13: note:   cannot convert 'v.std::vector<std::pair<long long int, int> >::operator[](((std::vector<std::pair<long long int, int> >::size_type)i))' (type '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}') to type 'unsigned char*'
   cin >> v[i];
             ^
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from vudu.cpp:5:
/usr/include/c++/7/istream:808:5: note: candidate: template<class _Traits> std::basic_istream<char, _Traits>& std::operator>>(std::basic_istream<char, _Traits>&, signed char*)
     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
     ^~~~~~~~
/usr/include/c++/7/istream:808:5: note:   template argument deduction/substitution failed:
vudu.cpp:24:13: note:   cannot convert 'v.std::vector<std::pair<long long int, int> >::operator[](((std::vector<std::pair<long long int, int> >::size_type)i))' (type '__gnu_cxx::__alloc_traits<std::allocator<std::pair<long long int, int> > >::value_type {aka std::pair<long long int, int>}') to type 'signed char*'
   cin >> v[i];
             ^
In file included from /usr/include/c++/7/sstream:38:0,
                 from /usr/include/c++/7/complex:45,
                 from /usr/include/c++/7/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
                 from vudu.cpp:5:
/usr/include/c++/7/istream:980:5: note: candidate: template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&)
     operator>>(_Istream&& __is, _Tp&& __x)
     ^~~~~~~~
/usr/include/c++/7/istream:980:5: note:   template argument deduction/substitution failed:
/usr/include/c++/7/istream: In substitution of 'template<class _Istream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_istream<_Istream>, std::__is_extractable<typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type, _Tp&&, void> >::value, typename std::__is_convertible_to_basic_istream<_Tp>::__istream_type>::type std::operator>>(_Istream&&, _Tp&&) [with _Istream = std::basic_istream<char>&; _Tp = std::pair<long long int, int>&]':
vudu.cpp:24:13:   required from here
/usr/include/c++/7/istream:980:5: error: no type named 'type' in 'struct std::enable_if<false, std::basic_istream<char>&>'
In file included from /usr/include/c++/7/ccomplex:39:0,
                 from /usr/include/x86_6