# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
256587 | ElyesChaabouni | Vudu (COCI15_vudu) | 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.
/*#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