Submission #256587

# Submission time Handle Problem Language Result Execution time Memory
256587 2020-08-02T21:49:14 Z ElyesChaabouni Vudu (COCI15_vudu) C++14
Compilation error
0 ms 0 KB
/*#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

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